Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Non-deterministic Turing machine

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
compilers

Línea de trabajo

No se nombra ningún archivo, prueba ni punto de entrada. Empieza por localizar la implementación existente de una máquina de Turing clásica y su representación de transiciones; después, determina cómo se deben representar y ejecutar múltiples opciones y opciones ponderadas opcionales. La tarea estará completa cuando funcionen las transiciones no deterministas y todas las probabilidades proporcionadas sumen el 100 %.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement good first issue

Describe the feature
Non-deterministic Turing machine is similar to already implemented classical Turing machine with one difference:
It can have multiple choices when reaching the same state and value.
Example:
Classic Turing machine instruction:
q1, 1 -> q2, 0, R.
Meaning: when you are in state q1 and encounter number 1 switch to state q2 replace number 1 with number 0 and move writing head to the right.
Non-deterministic Turing machine can have multiple choices:
q1, 1 -> q2, 0, R.
q1, 1 -> q1, 1, L.
q1, 1 -> q3, 0, S.
So in the same state it can either:

  1. Switch to state q2, write 0 and move right.
  2. Remain in state q1, write 1 and move left.
  3. Switch to state q3, write 0 and stay in the current cell.

Each choice has 33,(3)% change to be picked.

Optional requirement: if you are up for the additional challenge modify the changes for the instruction to be picked. Example:
q1, 1 -> q2, 0, R, 50
q1, 1 -> q1, 1, L, 10
q1, 1 -> q3, 0, S, 40
Now the first instruction has 50% chance to be picked, the second one 10% change and the last one 40% chance.
Make sure the chances sum to 100%.

Lenguaje dominante
TypeScript
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de EvalVis/TuringMachine

Todos los issues de EvalVis/TuringMachine

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.