Otomata Teorisi

  • Konuyu başlatan Baldi
  • Başlangıç Tarihi
  • Mesaj 9
  • Görüntüleme 1.741

Baldi

Hectopat
Katılım
7 Haziran 2019
Mesajlar
102
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Arkadaşlar bir kod ödevim var nasıl başlayacağımı bulamadım. Klavyeden kullanıcı alfabeyi, düzenli ifadeyi ve kaç kelime görüleceğini girecek ve program bu bilgiler doğrultusunda kelime üretecek ve listeleyecek. Nasıl yapabilirim?
 
Tam olarak ne istediğini anlamadım. Biraz daha detaylı anlatabilir misin? Bu arada kodları yazıp vermesin kimse konudaki arkadaşın ödevi. Sadece izlenecek yolları anlatırsak daha yararlı olur.
 
Yapmak istediğiniz şeyi daha detaylı anlatır mısınız? Eğer doğru anladıysam, elinizdeki harflerle anlamlı veya anlamsız kelime türetmek istiyorsanız, permütasyon kullanabilirsiniz.
 
Tam olarak ne istediğini anlamadım. Biraz daha detaylı anlatabilir misin? Bu arada kodları yazıp vermesin kimse konudaki arkadaşın ödevi. Sadece izlenecek yolları anlatırsak daha yararlı olur.
Zaten onu istemedim.
Örneğin bir alfabe girecek kullanıcı :{a,b} /enter/
Düzenli ifadeyi girecek: (a+b)*a /enter/
Kaç adet kelime görmek istediğini görecek :3 /enter/

Çıktı:
Düzenli ifade alfabeden üretilebilir,sonuclarınız listeleniyor.
L={a,aa,ba} gibi.
Kafama takılan klavyeden harfleri aldıktan sonra ben nasıl bunları ayıracağım?
Çünkü (a+b)*a ifadesi şu demek oluyor bilmiyorsunuzdur diye yazıyorum:
-İfadenin ilk kısmında ki (a+b)* a veya b harfinden bir tanesi seçilebilir.
-Seçildikten sonrada (* üs olarak kullanıyor 0,1,2 vs değerleri alabilir) * eğer 0 sa hiç gelmeyecek ve 1. eleman a olacak
-* eğer 1 ise a veya b den biri gelip aa veya ba ikinci eleman olacak
gibi umarım anlatabilmişimdir.Konuyu biliyorum ama kodlama kısmında takıldım.
Yapmak istediğiniz şeyi daha detaylı anlatır mısınız? Eğer doğru anladıysam, elinizdeki harflerle anlamlı veya anlamsız kelime türetmek istiyorsanız, permütasyon kullanabilirsiniz.
permütasyonu nasıl kullanabilirim permütasyondan farklı çünkü konu.Oluşacak elemanlar verilen bir kurala göre çıkmak zorunda.Üst yorumumda anlattığım gibi.
 
Regex ve char seti alacaksin, ustune kac kelime limiti oldugunu alacaksin.
Theory of Comp. den biliyorsun ki herhangi bir alfabeyle sonsuz kelime olusturulabilir, o yuzden limitimiz var.
Senin yapman gereken brute force permutasyon hesabi ile olusturabilecegin 0, 1 , 2 ... elemanli stringleri generate edip, regex match olanlari listeye almak. Listende n eleman oldugunda calismayi durdurmak. Finite State Machine mantigi.
Aslinda bu odev ile, password generator ayni mantik. Elindeki alfabeyle rastgele n elemanli string generate edeceksin, o kadar. Regexi zaten biliyorsun, pattern match oldugu anda o string return set ine girecek. Belki tek validasyon verilen regex ile n elemanin generate edilip edilemeyecegi olabilir ki, o bence daha zor bir problem.
 
Regex ve char seti alacaksin, ustune kac kelime limiti oldugunu alacaksin.
Theory of Comp. den biliyorsun ki herhangi bir alfabeyle sonsuz kelime olusturulabilir, o yuzden limitimiz var.
Senin yapman gereken brute force permutasyon hesabi ile olusturabilecegin 0, 1 , 2 ... elemanli stringleri generate edip, regex match olanlari listeye almak. Listende n eleman oldugunda calismayi durdurmak. Finite State Machine mantigi.
Aslinda bu odev ile, password generator ayni mantik. Elindeki alfabeyle rastgele n elemanli string generate edeceksin, o kadar. Regexi zaten biliyorsun, pattern match oldugu anda o string return set ine girecek. Belki tek validasyon verilen regex ile n elemanin generate edilip edilemeyecegi olabilir ki, o bence daha zor bir problem.
Selam. Sikinti, odevin regex lib kullanilmadan yapilmasi isteniyor. Yoksa odev zaten basit.
 
Selam. Sikinti, odevin regex lib kullanilmadan yapilmasi isteniyor. Yoksa odev zaten basit.
Sifirdan Regex Engine yazamazsiniz, yazabilseydiniz birileri size odev veriyor olmazdi.

Basit bir Regex'tir o olsa olsa, o halde ona NFA yazacaksiniz, hangi dildeyse basit lemma implementasyonlari yapabilirsiniz. "Pumping Lemma" diye aratabilirsiniz. Eger wildcard ya da .+ gibi ifadeler yoksa en temel FSA lar isinizi gorur. Yazdiginiz dil neyse, struct, class vs ile yapabilirsiniz. Ben olsam Scala ile yapardim.

 
Arkadaşlar bir kod ödevim var nasıl başlayacağımı bulamadım. Klavyeden kullanıcı alfabeyi, düzenli ifadeyi ve kaç kelime görüleceğini girecek ve program bu bilgiler doğrultusunda kelime üretecek ve listeleyecek. Nasıl yapabilirim?

Merhabalar, problemi çözebildiniz mi?
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı