Skip to content

💻 An algorithm that simulates the execution of a Turing Machine

License

Notifications You must be signed in to change notification settings

dudubernardino/turing-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Máquina de Turing

💻 Um algoritmo que simula a execução de uma máquina de Turing

PRs Welcome License MIT


Desenvolvedores

Estudantes de Ciência da Computação da UECE - Universidade Estadual do Ceará

Sobre

Programa baseado em python-turing

Este programa foi desenvolvido de modo a simular o processamento de uma Máquina de Turing Determinística. Foi desenvolvido na linguagem Python 3 e requer um arquivo com as configurações desejadas para a execução da máquina.

Como Executar

  1. Clone este repositório https://github.com/dudubernardino/Maquina-de-Turing
  2. Informe a configuração da MT num arquivo txt.
  3. Execute python3 maquina_turing.py

Exemplo

  • Utilize o arquivo config.txt para inserir a definição formal da Máquina de Turing
  alfabeto:a,b
  alfabet0_aux:A,B
  estados:q0,q1,q2,q3,q4
  trans_q0:[#,#,DIR,q0];[a,A,DIR,q1];[B,B,DIR,q3];[' ',' ',DIR,q4]
  trans_q1:[b,B,ESQ,q2];[a,a,DIR,q1];[B,B,DIR,q1]
  trans_q2:[A,A,DIR,q0];[a,a,ESQ,q2];[B,B,ESQ,q2]
  trans_q3:[B,B,DIR,q3];[' ',' ',DIR,q4]
  trans_q4:[[]]
  estado_inicial:q0
  simbolo_inicial:#
  cadeias:ab,aabb,aaab,aaaabbbb
  • Mantenha a sintaxe apresentada no config.txt, utilizando DIR e ESQ para o movimento do cabeçote e ' ' para o simbolo branco, com o espaçamento adequado.

  • Para executar a máquina basta utilizar o comando python3 src/maquina.py

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

💻 An algorithm that simulates the execution of a Turing Machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages