elimde alfabesi "a, b, c" olan bir dil var. bu dildeki herhangi bir string'de a'lar ve b'ler aynı sayıda herhangi bir sıralamada olmalı ve c'ler için herhangi bir sınırlama söz konusu değil. a'ları ve b'leri bir şekilde hallediyor gibiyim ama c'leri nasıl yerleştirmem gerektiğini bilemiyorum. yardımcı olabilecek biri var mı acaba?




 

sanıyorum o olmaz zira "ba" ya da "bb" ile bir string'e başlayamıyorum, "acb" elde edemiyorum. ben S->aSbS | bSaS | e yazdım gramer olarak ama bu sefer c'leri nereye koyacağımı bilemedim. gerçi bu gramerin de doğru olup olmadığını bilemiyorum zira kanıtlama yöntemlerini bilmiyorum bu konuda.

lamira

bildigim kadariyla gramere "sununla su ayni sayida olacak" gibi bir sart koyamazsin, otomatini da cizemezsin.

samfisher

push down automaton çizebiliyorum her string'de aynı sayıda harf içeren bir dil için, o sorun değil ama gramerini kuramadım tam olarak. c olmasa yine bir şeyler olacak ama c harfi sorun yaratıyor.

lamira

S -> aSb | bSa | Sc | cS | eps.

isini gorecek herhalde.

simendiferlerin efendisi

simendiferlerin efendisi, ona bir de S-> SS eklesem daha mı iyi olur? abaabbba yaratmak için mesela.

lamira

sanıyorum eklesem de çalışmıyor, aSbS gibi yazmalıyım gramerde.

bu arada cevap verip ilgilenen herkese çok teşekkür ederim.

lamira
1

mobil görünümden çık