[Task] Turning Maschine
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 44
- Forks
- 4
- Merge medio
- 7 min
- PR fusionados (30 d)
- 2
Descripción
There are at least two tasks which we could implement for Turning Machines (automatic machine).
- We could show the definition of a Turning Machine and a user must fill the band.
- We could show a little task and a user needs to define a Turing Machine.
In both cases, we need a GUI editor for Turning Machine definitions and an interpreter for Turning Machine definitions, so that a solution can automatically be checked.
I think a good visualization of an automatic-machine would be the one Turing used on page 234 in his paper 1. We should also use his terminology:
- tape: The tape is one-dimensional and runs through the machine.
- square: The tape is divided into squares. The machine can only operate on one square at a time. Each square can contain a symbol or be empty.
- scanned symbol: This is the symbol, which is on the square, which is currently in the machine (aka. at the read/write head of the machine)
- m-configuration: A m-configuration and the scanned symbol determines in which m-configuration the machine goes into next. This can also reference as the state of the machine.
- m-function: A m-function is a generic m-configuration, which takes parameters to be reusable.
- the configuration: The configuration of the machine is determined by the combination of the scanned symbol and its current m-configuration.
- a-machine: An automatic machine is a machine where each stage of motion is completely determined by the configuration.
- Circular machine: If a machine writes down a finite number of symbols, it is called circular.
- Circle-free machine: If a machine writes down an infinite number of symbols, it is called circle-free.
- Computable: A sequence is computable if it can be computed by a circle-free machine.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada. Empieza revisando la estructura del repositorio y los patrones existentes de evaluación y GUI, y después aclara el alcance del editor, el intérprete, la visualización y la comprobación automática. Darlo por terminado requeriría un diseño acordado y la implementación de las tareas seleccionadas de máquinas de Turing.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- nextjs, react, typescript
- Área
- compilers, frontend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100