Công thức cho số chuỗi không lặp lại là gì?


8

Tôi muốn đếm số chuỗi s trên bảng chữ cái hữu hạn A , không chứa lặp lại và ý tôi là đối với bất kỳ chuỗi con t của s , 1<|t|<|s|, không có bản sao rời rạc của t trong s . Đối với exapmle, hãy để A={a,b} . Thì aaa một trong những chuỗi tôi muốn đếm, vì đối với chuỗi con aa , không có các bản sao rời rạc. Tuy nhiên, abab chứa lặp lại như vậy.

Nếu ai đó đã tìm ra một công thức hữu ích, vui lòng liên kết. Mặt khác, tôi sẽ quay lại bài viết này trong bất kỳ bài viết nào tôi viết, nếu tôi sử dụng câu trả lời của ai đó.

Đây là một ví dụ khác. Hãy thử xây dựng một chuỗi dài trên {a,b} , không chứa lặp lại:

aaa (không thể là a)
   aaab (a hoặc b)
     aaabbb (không thể là b)
       aaabbba (không thể là b hoặc a)
   aaaba (không thể là a hoặc b)

Nếu chúng ta xây dựng một cây, chúng ta có thể đếm số lượng nút, nhưng tôi muốn có một công thức.

Chỉnh sửa: Chà, nó không đáng ngại như tôi nghĩ đầu tiên nếu chúng ta chuyển đổi vấn đề này thành vấn đề chọn thùng. Một tập hợp các chuỗi có độ dài k có ít nhất một lặp lại tương đương với các thiết lập đó là sự kết hợp của tất cả các hoán vị của sản phẩm Descartes: nơi R là yêu cầu lặp lại. Tôi không biết điều đó có hữu ích không, nhưng nghe có vẻ chuyên nghiệp :) Dù sao đi nữa, hãy để họ là | A | thùng, chọn bất kỳ hai (ngay cả khi cùng một) để lặp lại, sau đó chọn k - 4 nhiều hơn và nhân (4 đầu tiên đã được chọn, xem?). Bây giờ tôi chỉ cần tìm công thức đó từ toán học rời rạc.A×A××A(k-4 times)×R×RRk4


1
tại sao không có bản sao rời nhau trong ? không phải là t = một chuỗi con hợp lệ của s = a a , nghĩa là, s = t t ? Bạn có thể cho thêm vài ví dụ để làm rõ những gì nên và không nên tính? aaat=as=aas=tt
Ran G.

1
Thông báo yêu cầu. Hãy cho tôi biết nếu / làm thế nào tôi có thể viết bài đăng của tôi rõ ràng hơn. 1<|t|
Dan Donnelly

vâng, tôi đã bỏ lỡ yêu cầu này. Nó có ý nghĩa hơn bây giờ.
Ran G.

1
Tôi không thấy cách (ví dụ với bảng chữ cái 2 chữ cái), bạn có thể tạo một chuỗi có độ dài (giả sử) 10 mà không lặp lại. tức là số mong muốn phải được giới hạn trên bởi một số chức năng của k độc lập với n
Suresh

2
Tôi chỉ có thể nói cho bảng chữ cái kích thước chuỗi dài nhất có thể mà không lặp đi lặp lại, là 2 ( nn3nlà vì bạn có thể có một chuỗi có độ dài3với cùng các phần tử và2 ( n
2(n2)+3n
3n3 là bởi vì bạn chỉ có chỉ2 ( n2(n2) sự kết hợp khác nhau của các yếu tố này và thêm các nguyên nhân kết hợp mới để lặp lại. (Tôi đã cân nhắc rằng bạn nói về việc lặp lại rời rạc). 2(n2)

Câu trả lời:


1

Điều này trả lời câu hỏi sau số lượng từ không lặp lại trên mỗi kích thước, ngụ ý rằng số lượng mong muốn thậm chí còn tồn tại.

Định nghĩa: Gọi lặp lại miễn phí nếu và chỉ nếu nó không chứa một yếu tố x y x với x Σ 2y Σ * .wΣ xyxxΣ2yΣ

Yêu cầu: Cho bảng chữ cái hữu hạn đã cho với | Σ | = k , không có từ lặp lại có độ dài lớn hơn 2 k 2 + 1 .Σ|Σ|=k2k2+1

Ý tưởng bằng chứng: Theo nguyên tắc hố bồ câu. Đi một từ có độ dài 2 k 2 + 2 (hoặc một từ dài hơn và xem xét tiền tố của nó có độ dài này), tức là w = một 0 một ' 0 ... một k 2 một ' k 2 . Giả sử w là lặp lại miễn phí; điều đó có nghĩa là a i a ia j a j cho tất cả i j (nếu không chúng tôi đã lặp lại). Do đó, có kw2k2+2w=a0a0ak2ak2waiaiajajij nhiều cặp ký hiệu; mâu thuẫn này | Σ 2 | = k 2 . Vì vậy, w không lặp lại miễn phí. k2+1|Σ2|=k2w

Lưu ý rằng đây là một bằng chứng sơ bộ: các yếu tố có thể tạo ra sự lặp lại thậm chí sớm hơn.aiai+1


Ký hiệu:

  • Σk=i=kΣi=Σi=0k1Σi
  • "yếu tố" = "từ khóa" = "chuỗi con"

Điều này không thực sự trả lời câu hỏi. Bạn chỉ chứng minh được giới hạn trên rất thô sơ và khá rõ ràng, câu hỏi yêu cầu một công thức chính xác.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles: Lúc đầu tôi đã đọc sai câu hỏi nhưng nghĩ rằng tôi có thể để lại những gì tôi đã viết ở đây cho người khác (ví dụ: Kaveh, người tuyên bố có vô số từ như vậy).
Raphael

Nhận xét của tôi chặt chẽ hơn câu trả lời của bạn.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.