Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Non-deterministic Turing machine

Đang mở
#5 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
typescript
Lĩnh vực
compilers

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu tên. Hãy bắt đầu bằng cách tìm cách triển khai máy Turing cổ điển hiện có và biểu diễn chuyển tiếp của nó, sau đó xác định cách biểu diễn và thực thi nhiều lựa chọn cũng như các lựa chọn có trọng số tùy chọn. Công việc được hoàn thành khi các chuyển tiếp không tất định hoạt động và mọi xác suất được cung cấp có tổng bằng 100%.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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%.

Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của EvalVis/TuringMachine

Tất cả issue của EvalVis/TuringMachine

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.