Skip to content

Shweta31410/Turing-Machine-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Turing-Machine-Project

βœ… README.md markdown

🧠 Turing Machine Project – Decidability & Undecidability

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)

πŸš€ Features

  • βœ… 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)

πŸ› οΈ How to Run

1. Clone the repository:

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

About

A Python-based project exploring Decidability and Undecidability using Turing Machine simulations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages