Jflap Türkçe Kaynak

Otomata Teorisi dersinde Jflap üzerinde pratik yapmamız gerekiyordu. Fakat programın nasıl kullanılacağıyla ilgili Türkçe kaynak sıkıntısı vardı. Hocamız odev olarak Jflap kullanım klavuzu yapmamızı istedi. Ben de birebir çeviri yerine her konu başlığı altında ne anlatılmak istenmişse teker teker deneyip, çeviriden çok da ayrılmadan toplam 255 sayfalık bir klavuz hazırladım.

Klavuz sadece Jflap değil aslında, Otomata Teoriyle ilgili aşağı yukarı tüm konuları kapsıyor. Otomata ile ilgili örnekleri bir program üzerinde denemenin daha öğretici olduğunu düşünüyorum. Bu yüzden Otomata çalışırken klavuzdan faydalanmanız çok büyük yarar sağlayacaktır. Bu çalışma için sadece “Jflap Kullanım Klavuzu” değil, esasında “Jflap ile Otomata Teorisi” demek daha doğru olur. Jflap CC lisanslı bir program olduğu için hiçbir ücret ödemeden bu programı kullanabilirsiniz. Otomata Teori, konularını anlamanızda büyük yardımı olacaktır.

Okumaya devam et “Jflap Türkçe Kaynak”

Jflap’ta Silme ve Multiple Run

Durumları ve Geçişleri Silmek

Silme işlemi alışa geldiğimiz programlardan biraz farklıdır. Araç çubuğundan silme aracı   seçilir. Silinmek istenen durum ya da geçişin üzerine çift tıklama yapılmasıyla birlikte silme işlemi gerçekleşir.

Çoklu Dizgeleri Sonlu Durum Otomatında Denemek

Program elimizdeki dizgeleri FA üzerinde denememize de izin veriyor. Bunun için “Input” menüsü altından Multiple Run seçeneğini seçiyoruz.

 

Çoklu Çizge Sekmesini Açmak

Okumaya devam et “Jflap’ta Silme ve Multiple Run”

Jflap’ta Başlangıç ve Son Durumları Tanımlamak, Geçişleri Oluşturmak

Not: Bu yazı miras yazı olarak burada bulunmaktadır. https://drive.google.com/open?id=0BwvPLd0pnaCvZ1VETm1qMHBkTVU adresinden JFLAP Türkçe klavuzunu indirebilirsiniz. Zaten orada bu bilgiler mevcuttur.

Keyfi olarak q0 bizim başlangıç durumumuz olsun. Bu durumumuzu tanımlamak için önce araç çubuğundan özellik düzenleme aracını  seçiyoruz. Daha sonra oluşturduğumuz q0 ‘ın üzerine gelip sağ tıklıyoruz. Sonuçta aşağıdaki gibi bir görüntü ortaya çıkacaktır.

Durum Menüsü

Açılan pop-up menüden initial’i seçtiğimizde q0 başlangıç durumu olacaktır. Sol tarafında ok işareti belirecektir.

Okumaya devam et “Jflap’ta Başlangıç ve Son Durumları Tanımlamak, Geçişleri Oluşturmak”

Linux Yaz Kampı ’12

Linux Yaz Kampı için başvurular başladığında sınavlarımız vardı. Bütünlemeye kalıp kalmayacağımız belli değildi. Eğer bir kaç dersten bütünlemeye kalırsak ya Bolu’dan gidip gelmek zorunda kalacaktık, ya yarıda bırakıp LKD’nin kara listesine adımızı yazdıracaktık, ya da hiç katılmayacaktık. Bizim için gerçekten riskli bir karardı. Özellikle beni bu kampta cezbeden, sonunda bir yazılım üretip bunu da GPL lisansıyla yayınlama vaadiydi. Sadece teorik bir eğitim olsa ve sonunda da katılım sertifikası verilen bir kamp olsaydı, bütünlemeye kalma riski varken muhtemelen katılmazdım.

Okumaya devam et “Linux Yaz Kampı ’12”

Jflap Sonlu Otomatlar-Durum Oluşturmak

Not: Bu yazı maalesef geçerliliğini yitirdi. Bu gibi yazıları bir klavuzda toplamıştım. Jflap ile ilgili bilgileri https://drive.google.com/open?id=0BwvPLd0pnaCvZ1VETm1qMHBkTVU adresindeki pdf’ten edinebilirsiniz.

JFLAP sonlu otomatları bir M beşlisi olarak tanımlar. Matematiksel olarak gösterecek olursak:

M = (Q, Σ, δ, qs, F) şeklindedir. Burada:

Q sonlu durumları
Σ giriş alfabesini
δ geçiş fonksiyonunu, δ :
D → 2Q olan yerde D, Q × Σ* ifadesinin sonlu altkümesidir.
qsQ’nun üyesidir. Giriş durumudur.
FQ’nun üyesidir. Son durumdur.

Bu tanım ayrıca deterministik olmayan sonlu otomatları da tanımlar.

JFLAP’ta farklı tür otomatların yapılandırılması epeyce benzerdir. Bu yüzden bir sonlu durum otomatını yapılandırmakla işe başlayalım.

Elimizde L = {ambn : m ≥ 0, n > 0, n tektir} şeklinde bir dil bulunsun. Bu a’dan her sayıda tekrar olabileceğini fakat b’den tek sayı adedince tekrar olabileceğini bize söylemektedir. Yani b(1),bbb(3),bbbbb(5)… şeklinde.

Okumaya devam et “Jflap Sonlu Otomatlar-Durum Oluşturmak”

JFLAP NEDİR?

JFLAP NEDİR?

JFLAP, nondeterministik sonlu otomatlar, nondeterministik pushdown otomatlar, multi-tape Turing makineleri, muhtelif çeşitlerde gramerler, parsing(ayrıştırma) ve L-sistemler gibi konu başlıklarını içeren formal dilleri tecrübe etmek için yazılmış bir programdır. En yeni sürümü 3 Eylül 2009’da çıkmıştır.

JFLAP’IN TARİHİ
FLAP, Rensselaer Polytecnic Enstitüsünde (Amerika) 1990 yıllarında Susan Rodger, önderliği altında çalışan öğrenciler tarafından otomatlar için yazılmış, yazılım parçaları olarak başlatıldı. Rodger’in 1994 yıllında Duke Üniversitesine(Amerika/Durham) taşınmasıyla birlikte JFLAP projesi de bu üniversite bünyesine katılmış oldu.
JFLAP’ın tarihi gelişimi ve bazı sürümlerinin kaynak kodları için http://www.jflap.org/jflaptmp/ adresine bakabilirsiniz.
JFLAP için 2005 ve 2006 yıllarında çalıştaylar düzenlenmiştir.

Okumaya devam et “JFLAP NEDİR?”

Windows 8 Kurulum ve İnceleme

Not: Bu yazı güncelliğini yitirmiş, zamanın değişmesinden de nasibini almıştır. Bu içerik için üretilen fotoğraflar maalesef kayboldu. Sadece referans verilen linklerin karşılığı bulunsun düşüncesiyle burada tutuluyor.

Windows 8’in ön sürümü çıktı. Ben de uzun süredir denemek için fırsat kolluyordum. Harddiskimde yeterince yer olmadığı için kuramıyordum. Virtual Machine üzerinde çalıştırmak için önerilen boşluk 25 gb fakat 20 gb yer ayırdığınız zaman da çalışıyor. Ben 25 gb yer ayırdım. Virtual Machine son sürümünü, Windows 8’in iyi çalışabileceği varsayılan değerle kurmamı sağlayacak şekilde ayarlamıştı. Fakat ekran için ayırdığı ram miktarı bana az geldiğinden 256 mb’a kadar çıkarttım. Ayarlarıma şöyle bir bakacak olursak:

Okumaya devam et “Windows 8 Kurulum ve İnceleme”

Bir AJAX Uygulaması: “Bölüm Tabanlı İkili Anlaşmalar”

Uluslararası İlişkiler Ofisinde çalışırken, fakülte seçildiğinde fakültenin içindeki bölümlerin ortaya çıktığı, onlar seçildiğinde ise anlaşmaların listelendiği bir uygulama geliştirmemizi istediler. Yani öğrenci, örneğin Mühendislik Fakültesinde, Bilgisayar Mühendisliği Bölümüyle anlaşmalı olan yabancı üniversiteleri görmek istiyorsa, sadece o kısmı görecek tüm listeye bakmak zorunda kalmayacak. Yazın staj boyunca Javascript, Php ve AJAX üzerine çalışmıştım. Bu yüzden, öğrendiklerimi pekiştirmek için bu scriptleri kullandım.

Ajax, Asenkron Javascript ve XML ifadesinin kısaltılmış biçimidir. Yeni bir dil değildir var olan Javascript tekniklerini kullanarak geliştirmişlerdir. Sayfanın tamamının yüklenmesine gerek kalmadan sadece bir kısmını asenkron olarak değiştirmemize olanak sağlıyor. Örnek verecek olursak, google sayfası açıldığında arama çubuğuna bir şeyler yazarken altta tamamlama özelliğinin çalıştığını göreceksiniz. Bunu AJAX kullanarak yapabilirsiniz.

Okumaya devam et “Bir AJAX Uygulaması: “Bölüm Tabanlı İkili Anlaşmalar””

Flash Programlama “Erasmus Anlaşma Haritası”

Karabük Üniversitesi Uluslararası İlişkiler Ofisinde çalışırken benden, üzerinde ülke bayraklarının buluduğu bir haritada hangi ülkeye tıklanırsa, üniversitenin o ülkedeki anlaşmalarını sıralayan bir çalışma istediler. Bu çalışma kolay güncellenebilir olmalıydı. Erasmusla ilgili olduğu için sadece Avrupa ülkelerini kapsamalıydı.

Öncelikle internetten, isteğe uygun bir harita buldum fakat bu haritayı animasyonlarda kullanabilmem için Photoshop’da bir dizi işlemden geçirmem gerekti. Görünmesini istemediğim yerleri kapatıp blurlaştırdıktan sonra bu çalışmamı doğrudan Flash programı üzerine attım. Adobe ürünlerinin en güzel özelliklerinden bir tanesi de birbirleriyle uyumlu çalışmaları. Photoshop’taki layer mantığı, Flash’ta da bulunduğundan benim tekrar tekrar layer oluşturmama gerek kalmadan tüm layerlar oluştu.

Okumaya devam et “Flash Programlama “Erasmus Anlaşma Haritası””

Öğrenci Fotoğraflarını Ele Geçirmek…

Edit: Fotoğraflar kaldırılmıştır. Yöntemi, okuyarak anlayabilirsiniz.

Okuduğum üniversite için başlıkta belirttiğim olayı yapabilmek sadece html bilgisiyle mümkün. Üniversitenin öğrencisi olmanız yetiyor ya da öğrencilerden birinin kullanıcı adı ve şifresini almanız da yeter. Öğrenci/Çalışan fotoğraflarını, göstereceğim yöntemle almanın suç olup olmadığını bilmiyorum. Belki önemli bir şey de değildir. Zevkli olduğu kesin. Muhtemelen yakın zamanda yapılamayacak hale gelir.

Öncelikle xxxx.edu.tr’ye giriyoruz.Öğr Elemanı Not Görme’yi seçiyoruz.

Okumaya devam et “Öğrenci Fotoğraflarını Ele Geçirmek…”