Kaç kelime uzunluğunda


9

EKLEMEYE DÜZENLENMİŞTİR : Bu soru şimdi esasen cevaplanmıştır; daha fazla bilgi için lütfen bu blog girişine bakın. Buraya yorum ve cevap gönderen herkese teşekkürler.


ORİJİNAL SORU

Bu, MathOverflow ile ilgili sorduğum bir sorunun umarım daha akıllı ve daha bilgili bir versiyonudur . Bu soruyu sorduğumda, problemimin içinde bulunduğu matematik alanının adını bile bilmiyordum. Şimdi bunun Kısmi Kelimelerdeki Algoritmik Kombinatorik'te yattığından eminim. (Konuyla ilgili son kitap burada .)

Üzerinde bir kelime listesi yapmak istiyorum lharfler. Her kelimenin uzunluğu tam olarakk. Anlaşma, eğerajb listede, nerede bir joker karakter / umursamazlık sembolü, ajblistede bir daha asla görünemez. (Aynı şey şu durumlarda da geçerlidir:a=b, ya da eğer j=0 ve dolayısıyla yasaklanmış alt kelime ab.)

Örnek nerede k=4 ve l=5:

abcd
bdce
dcba <- yasak çünkü dc yukarıdaki satırda göründü
aeed <- yasak çünkü ad ilk satırda belirdi

Bulduğum "önlenebilir kısmi kelimeler" ile ilgili literatür, hepsi sonsuz olmuştur - kelime boyutu yeterince büyükse, bazı kelime kalıpları kaçınılmazdır. Bu teoremlerin fantastik versiyonlarını bulmak istiyorum. Yani, soru:

Kısmi bir form kelimesi verildi ajb alfabesinde l harfler, kaç kelime uzunluğunda k Bundan kaçının ve polinom zamanında açıkça üretilebilirler mi?

Yukarıdaki sorunun zor olmasını beklemiyorum ve eksik olduğum bir incelik yoksa, bunu kendim hesaplayabilirim. Bu sitede yayınlamamın asıl nedeni, uygulamam için bu tür kelime listelerinin özellikleri hakkında çok daha fazla şey bilmem gerektiğinden, birisinin takip sorusunu cevaplayabileceğini umuyorum:

Bu genel olarak incelendi mi? Sadece kısmi bir kelimenin sonunda kaçınılmaz olup olmadığını değil, kaçınılmaz hale gelmeden önce "ne kadar zaman aldığını" dikkate alan bazı makaleler nelerdir?

Teşekkürler.


(1) İlk sorunuz ile daha önce belirtilen örnek arasındaki yazışmaları anlayamıyorum. Örneğinizin girdisi nedir? (2) İlk sorunuzda, k'yi iki farklı amaç için mi kullanıyorsunuz?
Tsuyoshi Ito

(2) ile ilgili olarak, evet şimdi düzenlenmiş bir hata yaptım, teşekkür ederim.
Aaron Sterling

(1) ile ilgili olarak, kısmi bir kelime belirdiğinde "ne kadar oda bıraktığımı" bilmek istiyorum. Ancak evet, asıl soru, örnekte görünen liste gibi listelerin nasıl üretileceği (yasaklanmış kısmi kelimeler olmadan). Yani girdi,k ve lve tümü "önceden kısmi sözcükler özelliğinden kaçınma" özelliğine sahip bir listede üretmek için istenen sayıda kelime.
Aaron Sterling

2
@Aaron, nihai uygulamanızın ne olduğunu bilmiyorum, ancak Davenport-Schinzel dizileri (ve genellemeler) belirli bir yinelenen desen içermeyen bir dizenin maksimum uzunluğunu soruyor. İlgili bir kavram.
Suresh Venkat

1
Seth Pettie, yasaklanmış alt matrislere de bazı şık genellemeler üzerinde çalışıyor.
Suresh Venkat

Yanıtlar:


4

İşte özel bir durum: uzunluktaki ikili kelimelerin sayısı k öyle ki hiç kimse art arda görünmez F(k+3), nerede F(n) bu nth Fibonacci sayısı (ile başlayan F(1)=1,F(2)=1). İspat, Zeckendorf temsilidir .

DÜZENLEME: Bu ilk özel durumu, biraz daha büyük özel duruma genişletebiliriz. a0a. Uzunluk dizelerini düşününk büyüklüğünde bir alfabe l+1 öyle ki mektup aart arda iki kez görünmüyor. İzin Vermekf(k)("geçerli" diyeceğimiz) bu dizelerin sayısı olabilir. Biz şunu iddia ediyoruz:

f(k)=lf(k1)+lf(k2)
f(0)=1,f(1)=l+1
Sezgi, geçerli bir uzunluk dizesi oluşturabilmemizdir k ikisinden biri ile: a) herhangi birine bitişik l olmayan harfler a geçerli bir uzunluk dizesine k1veya b) mektuba bitişik a ve sonra başka herhangi bir harf a geçerli bir uzunluk dizesine k2.

Aşağıdakilerin yukarıdaki yineleme için kapalı bir form olduğunu doğrulayabilirsiniz: burada anladığımızda olduğunda .

f(k)=i=0k(k+1ii)lki
(ni)=0i>n

DÜZENLEME # 2: Bir vaka daha ele alalım - a . Dizeleri , "geçerli" alt dizesini içermeyen bir elementli alfabe üzerinden ve geçerli uzunluğu dizelerini belirtmesine izin . Bundan başka, en tanımlayalım alt kümesi olması başlayarak dizeleri oluşan ve başlayarak olmayanlar için . Son olarak,,,.0b,ablabSkkTkSkbUkbf(k)=|Sk|g(k)=|Tk|h(k)=|Uk|

Biz gözlemleyin ve . Sonra, aşağıdaki yinelemeleri : Birincisi , öğesinin herhangi bir elemanının başına eklenmesi , nin bir elemanını oluşturmasıdır . İkincisi bir elemanını kurulabileceğini gözlemleyerek gelir herhangi bir karakter ancak eklenerek herhangi bir elemanın önüne herhangi bir karakter ekleyerek veya but veya herhangi bir elemanın önüne içinde .g(0)=0,h(0)=1,f(0)=1g(1)=1,h(1)=l1,f(1)=l

g(k+1)=f(k)h(k+1)=(l1)h(k)+(l2)g(k)
bSkTk+1Uk+1bUkabTk

Ardından, elde etmek için yineleme denklemlerini yeniden :

f(k+1)=g(k+1)+h(k+1)=f(k)+(l1)h(k)+(l2)g(k)=f(k)+(l1)f(k)g(k)=lf(k)f(k1)

İşlevsel şeyler üreterek veya biraz tembelleşirsek, doğrudan Wolfram Alpha'ya doğru ilerleyerek bu nüks için oldukça opak bir kapalı form çözümü elde edebiliriz . Ancak Googling ve çevresinde alay birazcık ile OEIS , biz aslında olduğunu fark: olan ikinci türden Chebyshev polinomu (!) .

f(k)=Uk(l/2)
Ukkth

Bu çok ilginç, teşekkürler.
Aaron Sterling

2

İlk soru için tamamen farklı bir yaklaşım üzerinde son soruya cevap yeniden kullanır düzenli dildeki kelimeleri üreten : Bu uzunluk için bu algoritmaları uygulamak için yeterli düzenli diline burada alfabe.kΣaΣjbΣΣ


Teşekkürler. Bir bağlantı olup olmadığını merak ediyordum ve buradaki cevabınız bana burada atıfta bulunulan makalelere bakmam için gereken baskıyı verdi ve bunlardan biri kesinlikle düşündüğüm sorunlardan birinin bir parçasını çözdü.
Aaron Sterling

0

Güncellendi: bu cevap yanlış :

sabit olduğunu varsayarsak , bir desenin eşleştirilebileceği yol sayısını sayabiliriz : ilk önce sembol konumunda eşleştirilebilir ve o noktadan önceki olasılık, arasında ve ve dize geri kalanı, bu şekilde toplam için vaka. Tsuyoshi Ito'nun yorumlarda belirttiği gibi, bu sayı eşleşen farklı kelimelerin sayısı değiljajba1ikj1li1ljablkji1

i=1kj1li1ljlkji1=(kj1)lk2
ajbçünkü tek bir kelime aynı kalıpla farklı şekillerde eşleşebilir. Örneğin için üç kez eşleştirilir , iki kez ve iki kez . Kalıpları birkaç kez eşleştirme yollarını saymaya çalışabilir ve bir "dahil etme-hariç tutma" ifadesi gösterebiliriz, ancak kalıbın çakışabileceği yollar bunu çok uzun hale getirir.aaaaaaababababaabb

İlk soru için, sabit olmadığı, yani kelimesini kaçınmak istediğimiz anlayışı altında :jab

  • Ya ilk sembol için hangi hesapların, görünür hiçbir zaman , olası bir deyişlea(l1)k
  • ya da bir konumda ilk görünen , o zaman kullanamaz kelimesinin geri kalan kısmında: vardır faktörün kadar seçimler ve kalanlar için seçenekler, toplam olası kelimeler. İster alakasız.a1ikb(l1)i1a(l1)kii=1k(l1)i1(l1)ki=k(l1)k1a=b

İkinci soru için önerecek çok şeyim yok; kelime düğünleriyle bir ilişki var, ama Higman'ın Lemma için kötü diziler hakkında bildiğim sonuçlar hemen geçerli değil.


Çok teşekkürler Sylvain, bunun doğru olduğunu düşünmüyorum. ifadesi görünürse daha sonra kelimesini kullanabiliriz . ve arasında tam olarak harfleri varsa, daha önce görünüyorsa kullanamayız . Belki de tartışmanızı yanlış anlıyorum. babjabajb
Aaron Sterling

Üzgünüz, sabit olup olmadığından emin değildim. Cevabı sabit ile de düzenledim . jj
Sylvain

1
Sabit j durumunun doğru olduğunu düşünmüyorum. Örneğin, k = 4 ve j = 1 ise, aabb kelimesi iki kez çıkarılır. Sabit olmayan j vakasını okumadım.
Tsuyoshi Ito

@Tsuyoshi Ito: haklısın, bu durumda benzersiz bir eşleşme yok.
Sylvain

Lütfen yanlış bir cevabı bu şekilde işaretleyin.
Tsuyoshi Ito
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.