tm (turing-machine)¶
-
class
src.tm.
Tm
(filename)[código fonte]¶ Bases:
object
Classe que representa uma máquina de Turing determinística para computação de funções numéricas.
-
clean_right
()[código fonte]¶ Método que remove símbolo branco (“B”) excedente à direita da fita da máquina de Turing.
-
compute
()[código fonte]¶ Método que executa uma computação na máquina de Turing, alterando -ou não- o estado atual, escrevendo um símbolo e movendo a cabeça de leitura para esquerda ou direita.
-
get_transition
()[código fonte]¶ Método que retorna a transição que o estado atual irá realizar lendo o símbolo atual.
Retorno: (List) Lista de str
contendo uma transição no formato lista[“qi
”, “ri
”, “D
”], onde:qi
: Estado destino;ri
: Símbolo a ser escrito;D
: Direção a mover a cabeça de leitura (L ou R)
-
make_transitions
()[código fonte]¶ Método que cria dicionário de dicionários para armazenamento das transições de cada estado.
A estrutura é dada no seguinte formato abaixo:
- {
estado_i
: {simbolo_leitura_j
: (proximo_estado_k
,simbolo_escrita_k
,direcao_k
), …}, …}
Por exemplo:
- {“q0”: {“B”: (“q1”, “1”, “R”), …}, “q1”: {“1”, …}, … “qn”: { …}}
- {
-
move_left
()[código fonte]¶ Método que move a cabeça de leitura para esquerda.
-
move_right
()[código fonte]¶ Método que move a cabeça de leitura para direita.
-
read_actual
()[código fonte]¶ Método que retorna o símbolo da posição onde está a cabeça de leitura.
Retorno: (str) Símbolo da fita na posição que a cabeça de leitura se encontra.
-
show_tape
()[código fonte]¶ Método que imprime o estado atual e a configuração da fita.
-
write_actual
(value)[código fonte]¶ Método que realiza a escrita na posição onde a cabeça de leitura se encontra.
Parâmetros: value (str) – Valor a ser escrito na posição atual
-