Rice Theorem | Theory of Computation - Computer Science Engineering (CSE) PDF Download

Part IX. Rice Theorem

Recursive and Non-Recursive Languages
Recursive Languages
A language, L is recursive, if
it is possible to design a TM that halts in the final state to say yes if w∈L, and halts in the non-final state to say no if w ∉ L.

Recursively Enumerable Languages
A language, L is recursively enumerable, if
it is possible to design a TM that halts in the final state to say yes if w∈L, and halting cannot be guranteed if w ∉ L.
Languages that are neither Recursive nor Recursively Enumerable
A language, L is neither recursive nor recursively enumerable, if the structure of the language is such that no TM which recognises w can be designed.

12 Rice Theorem
Rice’s theorem states that
every non-trivial property of a recursively enumerable language is undecidable.

Proof
A non-trivial property is one that is possessed by some objects of a class, but not all.
For example, being a mathematician is a property that is possessed by some humans but not by all.
Some cats are black but not all. So black colour property cannot be trivially associated with cats.
Let χ be a non-trivial property that is not possessed by all recursively enumerable languages. This problem can be reduced to one consisting of a pair (M, w) such that L possesses χ iff w ∈ L(M). We take a UTM U that takes a pair (M, w); its output is yes iff χ is possessed by L.
Since L is a recursively enumerable language, there must be a TM, ML that accepts L. Let x be a string belonging to L. Now, we design a machine M' to decide χ as shown below:
Rice Theorem | Theory of Computation - Computer Science Engineering (CSE)
Here U is a UTM.
UTM, U takes the pair (M, w) and checks if w ∈ L(M). If the output is yes, then the machine Mthat accepts the string x starts and the output of the machine M' is yes. Thus the decidability of the problem of possessing the trivial property reduces to the problem of Lu. If the pair (M, w) ∈ Lu, then L possesses χ ; otherwise not. Since Lu is not recursive,
possession of χ by L is also not decidable.

The document Rice Theorem | Theory of Computation - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Theory of Computation.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
18 videos|69 docs|44 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Rice Theorem - Theory of Computation - Computer Science Engineering (CSE)

1. What is Rice's theorem in computer science engineering?
Ans. Rice's theorem, named after American mathematician Henry Gordon Rice, states that all non-trivial properties of the behavior of a computer program are undecidable. In other words, it is impossible to create a general algorithm that can determine, for any given program, whether it possesses a specific non-trivial property.
2. How does Rice's theorem relate to computer science engineering?
Ans. Rice's theorem has significant implications in computer science engineering. It demonstrates the limitations of algorithmic analysis for program properties, highlighting that it is impossible to create a single algorithm that can decide all possible properties of a program. This theorem helps researchers and engineers understand the fundamental limits of program analysis and motivates the development of approximate methods and techniques.
3. What are non-trivial properties of a computer program mentioned in Rice's theorem?
Ans. Non-trivial properties, as referred to in Rice's theorem, are those that are not true for all programs or false for all programs. These properties depend on the behavior or characteristics of specific programs. For example, a non-trivial property could be whether a program terminates within a certain number of steps or whether it produces a specific output for a particular input.
4. Can you provide an example to illustrate Rice's theorem in computer science engineering?
Ans. Sure! Let's consider the property of a program whether it halts (terminates) on all possible inputs. This property is non-trivial because some programs may halt on all inputs, while others may never halt. Rice's theorem states that it is impossible to create a general algorithm that can determine, for any given program, whether it halts on all inputs.
5. How does Rice's theorem impact program analysis and verification in computer science engineering?
Ans. Rice's theorem emphasizes the inherent limitations of program analysis and verification. It implies that there can never be a fully automated and general algorithm that can decide all possible properties of a program. This motivates researchers and engineers to focus on developing approximate analysis techniques, static analysis tools, and formal verification methods that can handle specific classes of properties. Rice's theorem guides the design and development of practical tools and approaches for program analysis and verification.
18 videos|69 docs|44 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

pdf

,

Objective type Questions

,

Exam

,

Sample Paper

,

Rice Theorem | Theory of Computation - Computer Science Engineering (CSE)

,

shortcuts and tricks

,

Extra Questions

,

Summary

,

practice quizzes

,

Semester Notes

,

ppt

,

Free

,

Rice Theorem | Theory of Computation - Computer Science Engineering (CSE)

,

Viva Questions

,

study material

,

Important questions

,

Previous Year Questions with Solutions

,

video lectures

,

past year papers

,

Rice Theorem | Theory of Computation - Computer Science Engineering (CSE)

,

MCQs

,

mock tests for examination

;