Computer Science

Decidability and Undecidability

Decidability refers to the property of a problem being solvable by an algorithm, while undecidability refers to the property of a problem being unsolvable by any algorithm. In computer science, these concepts are fundamental to understanding the limits of computation and the classification of problems based on their solvability. The halting problem is a classic example of an undecidable problem.

Written by Perlego with AI-assistance

3 Key excerpts on "Decidability and Undecidability"

  • Theory of Computation Simplified
    eBook - ePub

    Theory of Computation Simplified

    Simulate Real-world Computing Machines and Problems with Strong Principles of Computation (English Edition)

    • Dr. Varsha H. Patil, Dr. Vaishali S. Pawar, Dr. Swati A. Bhavsar, Dr. Aboli H. Patil(Authors)
    • 2022(Publication Date)
    • BPB Publications
      (Publisher)
    HAPTER 9

    Computability and Undecidability

    After studying Turing machine in the previous chapters, this chapter introduces the two most important properties of certain natural and well-defined computation problems. Those are Undecidability and Intractability. Undecidable problems lie provably beyond the reach of algorithmic solutions, and we use Turing machine to prove that there are some problems that cannot be solved by computers. And even when a computation problem is amenable to solution by algorithm, it may be the case that there is no reasonably fast and practically feasible algorithm that solves it. Such problems are referred as intractable.

    Structure

    In this chapter, we will discuss the following topics:
    • Un-decidability
    • An un-decidability Problem that is recursively enumerable
    • Post Correspondence Problem (PCP)
    • Intractable Versus Intractable Problems
    • Church-Turing Thesis
    • Analyzing Algorithms: Asymptotic Notations
    • The Class P
    • The Class NP
    • NP- Completeness
    • Various NP- Complete Problems

    Objectives

    The objective behind learning computability ad undecidability is to Learn cases of Post Correspondence Problem (PCP). In this chapter, we will understand the difference between decidability and computability, how to apply the complexity classes and relations, and Solve the problems that are undecidable.

    9.1 Un-decidability

    There are specific problems that cannot be solved using a computer. These problems are called as undecidable problems. Till now, we learnt various and diverse mathematical models of computational processes that accomplish concrete computational tasks. In this chapter, we will see a class of language generators – Turing machines. Turing machine is the accurate model for what any physical computing device is capable of doing. This Turing machine is the best tool to develop the theory of undecidability. There are many such problems that are easy to express but are undecidable. We exclude here the TMs that may not halt on some inputs. We adopt TMs that halt on all inputs as the precise formal notion corresponding to the algorithms.
  • From Algorithms to Thinking Machines
    eBook - ePub
    • Domenico Talia(Author)
    • 2023(Publication Date)
    • ACM Books
      (Publisher)
    11 The Non-computable
    The concept of computation is at the heart of algorithms and computers. As Alan Turing demonstrated, algorithms, despite their power, are not able to compute everything, to solve every problem. This chapter illustrates the limits of computability and introduces the features of the non-computable, and also discusses problems for which there is no available algorithm. Concepts such as common sense, intuition, and consciousness are discussed in the context of machine intelligence. The chapter concludes with some considerations and comparisons on the computability of human and artificial intelligence.

    11.1 The Limits of Computation

    A problem is computable (i.e., solvable or decidable) if it can be resolved in principle by a computing machine, that is, if it may be coded in an algorithm. As we discussed in Chapter 2 , David Hilbert believed that all mathematical problems were solvable, that is, he was convinced that the question of whether there is a systematic way to find a solution to every mathematical problem had a positive answer. This became known as the “decision problem.” Problems of this form, which investigate the existence of an algorithm for deciding the truth or falsity of a whole category of statements, are called decision problems to differentiate them from normal mathematical questions regarding the truth or falsity of single propositions. A positive solution to a decision problem consists of providing an algorithm for solving it, whereas a negative solution consists of proving that no algorithm for solving that problem exists (i.e., the problem is unsolvable) [Martin  1958
  • An Introduction to Substructural Logics
    • Greg Restall(Author)
    • 2002(Publication Date)
    • Routledge
      (Publisher)
    Part IV Decidability DOI: 10.4324/9780203016244-17 Passage contains an image

    Chapter 14 Decision Procedures

    DOI: 10.4324/9780203016244-18
    In the terms of the new electronic pragmatism, the truth may not be pure but it had better be simple.
    For “simple” read “computationally tractable.”
    John Slaney, Vagueness Revisited [249] , 1988
    The deducibility problem for a logic goes like this: we are presented with a consecution XA, and we wish to know whether it is valid or not. Is there an algorithm to determine its validity? A logic is said to be decidable if and only if there is an algorithm determining decidability, and it is undecidable if there is no such algorithm.
    In some logics, there is a simple algorithm. For example, in the two-valued classical propositional logic TV, one algorithm is a truth table test. You check to see whether there are any truth table evaluations for which the antecedent is true and the conclusion false. If there are any, the argument is invalid, otherwise, it is valid. This process can be generalised — if any logic has a finite characteristic algebra, then we have an algorithm for testing its validity. You check! However, many logics are not characterised by a finite algebra.1 In these cases, we need a more subtle method for determining the validity of arguments. In this chapter, we will examine a few such methods. The first section will focus on methods involving proof theories and the second, on models.
    1 See Exercises 8.11 and 8.12.

    14.1 Proof Search

    One method for determining validity is to search for a proof, provided that you have reassurance that you will not have to look too far. If there are bounds on the length of the search, then searching for a proof can provide an algorithm for determining validity. (If there is no such bound, then you do not have an algorithm, as you are not assured that the search will end with an answer.) Proof search is quite simple in the case of non-expansive
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.