β README.md markdown
This project explores key concepts in Theory of Computation, focusing on decidability and undecidability through simulations of Turing Machines using Python.
It includes command-line simulations for classic problems like:
- β Palindrome Checker (Decidable)
- β Halting Problem (Undecidable)
- β Python-based CLI Turing Machine simulator
- π Step-by-step transitions for custom inputs
- π Demonstrates theoretical concepts with real code
- π§ Educational use for TOC students & enthusiasts
- π Full project report included (PDF)
git clone https://github.com/shweta31410/Turing-Machine-Project.git
cd Turing-Machine-Project
2. Run simulations
Palindrome TM:
bash
python3 palindrome.py
Halting Problem Simulation:
bash
python3 halting_problem.py
Make sure you have Python 3 installed. No extra libraries required!
π Project Structure
bash
Turing-Machine-Project/
β
βββ tm/ # Core Turing Machine logic
β βββ tape.py
β βββ turing_machine.py
β
βββ palindrome.py # Decidable example
βββ halting_problem.py # Undecidable example
β
βββ report/ # Full PDF Report with code & screenshots
β βββ Turing_Machine_Report.pdf
β
β
βββ README.md
π Acknowledgment
This project was developed as part of a Theory of Computation course.
Special thanks to professors and mentors who deepened our curiosity about computability and machines.
π References
Michael Sipser, Introduction to the Theory of Computation
NPTEL TOC Lectures
GitHub resources on Turing Machine simulations
Wikipedia: Halting Problem
π§βπ» Author
Shweta
GitHub: @shweta31410
π License
This project is open-source and free to use for educational purposes.
---
### β
To Add It to GitHub:
1. Create a new file in your repo called `README.md`
2. Copy-paste the above content into it
3. Commit and push it:
```bash
git add README.md
git commit -m "Added project README"
git push origin main