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