Lấy cảm hứng từ câu hỏi CR này (xin đừng giết tôi để duyệt CR)
Thông số kỹ thuật
Xác suất sai chính tả của một từ là:
- 1/3 thời gian không thay đổi đầu ra
- 1/3 thời gian loại bỏ một ký tự ngẫu nhiên
- 1/3 thời gian nhân đôi một ký tự ngẫu nhiên
Cơ hội để loại bỏ / sao chép một ký tự đã cho trong đầu vào phải giống nhau cho tất cả các ký tự.
Nếu hai ký tự liên tiếp giống nhau (phân biệt chữ hoa chữ thường), xác suất một trong số chúng được sửa đổi sẽ giống như thể chúng là một ký tự. Tức là đầu ra cho AA
(mà là AA
hay A
hay AAA
) tất cả nên có khả năng tương tự.
Đầu vào sẽ chỉ chứa các chữ cái cho đơn giản.
Ví dụ
Dòng đầu tiên là đầu vào, các dòng sau là tất cả các lỗi chính tả. Mỗi dòng nên có cùng xác suất là đầu ra, đầu vào được loại trừ trong các ví dụ nhưng nó vẫn phải có xác suất đầu ra là 1/3.
foo
fo
oo
ffoo
fooo
PPCG
PPC
PPG
PCG
PPPCG
PPCCG
PPCGG
foo
: nếu bạn xóa một ký tự, nó có thể trở thành (-f) oo, f (-o) o và fo (-o). Vì vậy, fo
nên có khả năng gấp đôi oo
, nhưng bạn nói mỗi dòng có xác suất bằng nhau.
If two consecutive characters are the same (case-sensitive), the probability of one of them being modified should be the same as if they are one character. I.e. the outputs for AA (which are AA or A or AAA) should all have the same probability.