ismailari.com

İsmail Arı'nın anasayfası

Haziran 2010 için arşiv

Dinamik programlamaya giriş

1 yorum yapıldı

Alttaki yazı Jesse Farmer'ın "Introduction to Dynamic Programming" adlı yazısının çevirisidir. Burada, yazarın izniyle yayınlanmaktadır.

Dinamik programlama, örtüşen altproblemler (overlapping subproblems) ve eniyi altyapı (optimal substructure) özelliklerini gösteren geniş bir yelpazedeki arama ve eniyileme (optimizasyon) problemlerini verimli bir biçimde çözmek için kullanılan bir yöntemdir. Size bazı basit örnekler aracılığıyla bu özellikleri göstermeye çalışacağım ve bir alıştırma ile bitireceğim. Mutlu kodlamalar!

Örtüşen altproblemler

Tekrar tekrar kullanılan altproblemlere bölünebilen bir problem için, örtüşen altproblemlere sahiptir denir. Özyineleme (recursion) ile yakından ilişkilidir. Farkı görmek için (Python ile) şu şekilde tanımlanan faktöryel fonksiyonunu düşünün:

def factorial(n):
    if n == 0: return 1
    return n*factorial(n-1)

Görüldüğü gibi factorial(n) probleminin hesabı factorial(n-1) altprobleminin hesabına bağımlıdır. Bu problem örtüşen altproblemler özelliğini göstermez çünkü factorialn'den daha küçük her pozitif tamsayı için bir kez çağrılır.

Yazının tamamını okuyun »

22 Haziran 2010, Kategori: Çeviri,Programlama, Etiketler: ,

Bilimsel blog tutmaya başlamak

1 yorum yapıldı

Blog, 'weblog' bileşik kelimesinin kısaltmasıdır, yani internet güncesidir. İnternet üzerinden yayın yapmak için kullanılan belli bir yoldur (yöntemdir) demek yanlış olmaz. Adı üstünde, bir İnternet güncesinin genel ihtiyaçlarına tamamıyla destek verir, hatta eklentiler ile bundan daha fazlasına da olanak sağlar.

Hemen hemen herkes bir şekilde Facebook kullandığı için Facebook özelliklerini aşağı yukarı biliyordur. O sebeple bir blogun temel özelliklerini herkesin anlayacağı Facebook örneğiyle anlatmak anlaşılır olacaktır umarım. Facebook, sizin arkadaş çevrenize yayın yaptığınız bir çeşit araçtır. Fotoğraflar, Notlar, Videolar, Duvar gibi bölümleri bulunur ve kullanıcı dostu bir arayüz ile etkileşimi kolaylaştırır. Programlama bilmenize gerek yoktur. Aynı şekilde bu konuda genel kültürünüz olmasına da pek gerek yoktur. Örneğin siz sayfa yükleme hızını pek dert etmeden büyük boyutlu bir fotoğraf eklersiniz, sizin yerinize fotoğrafın boyutu düşürülür ve sayfa yükleme hızı yavaşlamamış olur. Örneği burada bırakıp, asıl konuya döneyim. Bir blog temel olarak yazılardan (posts) ve sayfalardan (pages) oluşur. Yazılar, "Sevgili günlük!" diye başladığınız ve belli bir tarihe atfedilen içeriği oluştururken; sayfalar, tarihin pek önemli olmadığı, "hakkında", "projeler", "okurlardan" gibi bölümleri oluşturur. Örneğin bu okuduğunuz bir yazıdır, "okurlardan" ise bir sayfadır. Bu iki temel bileşenin yanında yazılarınızı sınıflandırmak için kullanacabileceğiniz kategoriler ve etiketler bulunur. Yazılara veya sayfalara okurlarınız yorum girebilir, veya başka sitelerden link verebilir. Bunların tümünü görebilirsiniz. Blog kardeşliği yapmak, ya da bağlantılar menüsü oluşturmak için bağlantılar adlı bir bölüm de mevcuttur. Site içeriğine eklediğiniz tüm resim ve dosyalar, ortam kütüphanesinden ulaşılabilir. Hangi dosyanın hangi yazıda kullanıldığını görebilir, istemezseniz daha sonra oradan silebilirsiniz. Tüm bunlar aynı Facebook örneğinde bahsettiğim gibi kullanıcı dostu bir arayüz ile kolaylıkla yapılabilir. Örneğin önceden yazdığım bir yazıya bir de bu arabirimden bakalım:

Gördüğünüz gibi, masaüstü bir kelime işlemcisi kadar anlaşılır bir arayüze sahip! Sol menüden istediğiniz bölüme geçip, değişiklikleri kolaylıkla yapabiliyorsunuz. Kalan özelliklerini siz de kurcalayarak keşfedebilirsiniz.

Yazının tamamını okuyun »

21 Haziran 2010, Kategori: Genel, Etiketler: , ,

Evdeki kütüphanenin önemi

Yorum yapılmadı

Bilim ve Teknik Dergisi'nin son sayısında Ö. İkinci'nin sunduğu şu güzel habere bir kulak verelim:

Eğitimciler yıllardır çocukların eğitim seviyesinin derecesini belirleyen en önemli etkenin yüksek eğitim almış ebeveynler olduğunu düşündüler. Eğitimciler yıllardır çocukların eğitim seviyesinin derecesini belirleyenen önemli etkenin yüksek eğitim almış ebeveynler olduğunu düşündüler. Fakat Nevada Üniversitesi, Los Angeles Kaliforniya Üniversitesi ve Ulusal Avustralya Üniversitesi’ndeki araştırmacılar tarafından yapılan bir çalışmada 500 kitaplık bir kütüphaneye sahip bir evde yetişmenin çocukların eğitim düzeyine yaptığı etkinin 15-16 yıl üniversite eğitimi almış ebeveynlere sahip olmak kadar büyük olduğu gösterildi. Her iki etken de ortalama olarak eğitimde bir çocuğun 3 yıl daha ileride olmasını sağlıyor.

Nevada Üniversitesi’nden Doç. Mariah Evans özellikle daha az eğitimli ebeveyne sahip olan ve evlerinde kitap olmasından en çok yararlanabilecek çocukları bulmakla ilgilendi. Özellikle Nevada’nın kırsal topluluklarına maddi yönden ve eğitim açısından yardım etmenin yollarını aradı.

Evans çocukların başarılı olmasına yardımcı olmak için ne çeşit yatırımlar yapılmalı diye soruyor ve bu çalışmanın sonucunun evlerine kitap almanın çocukların başarılı olmalarına yardımcı olabilmek için en ucuz yol olduğunu gösterdiğini söylüyor.

Evans evde 20 tane olsa bile kitap bulundurmanın bir çocuğun daha yüksek eğitim seviyesine ulaşmasında önemli bir etkisi olduğunu ve daha fazla kitabın da daha fazla yarar sağlayacağını söylüyor.

Örneğin Çin’de 500 ya da daha fazla kitap bulunan evlerdeki çocuklar yaklaşık 6 yıl eğitimlerinde daha ilerideler. ABD’de bu etki yaklaşık 2 yıl. Çalışmada incelenen 27 ülkenin ise ortalama olarak 3 yıl daha avantajlı oldukları görüldü.

Araştırmacılar çocukların eğitimlerindeki başarılarında evlerinde kitap olmasının ebeveynlerinin eğitim düzeyinden, babalarının mesleğinden, ülkelerinin gayri milli hâsılasından ve politik sisteminden bile daha güçlü etkisi olduğunu düşünüyor.

Araştırmanın sonuçları sadece çocukları değil, biz yetişkinleri de kapsasaydı keşke. Yani ben bizi de etkilediğini düşünmekteyim. En azından bende bir kütüphane romantizmi var kuşkusuz. Kimisi her gezisinde Mango'ya uğrar, Mavi'ye bakar; ben de Pandora'dan Mephisto'ya sıçrayangillerdenim.

Çocuklarınız, kardeşleriniz, kuzenleriniz ya da etrafınızda başka küçükler varsa bu sosyal deneyin pratik araştırmacısı olmak ayrıcalığına varmanız ümidiyle!

18 Haziran 2010, Kategori: Eğitim,

MATLAB yazıları

Yorum yapılmadı

Her ne kadar uzun süredir MATLAB ile ilgili yazı yazmıyorsam da bu yazıyı yazmamın iyi olacağını düşündüm. Çünkü önceden günde en az 20 kişinin ziyaret ettiği programlama notları, şu anda tam anlayamadığım bir sebepten dolayı hiç ziyaretçi almamakta. Harika olmasalar da birilerinin işine yarayabilir. Şöylece bir derleyecek olursak; MATLAB Programlamaya Giriş yazısında temel MATLAB notları mevcut. İmgeme işleme için MATLAB ile İmge İşlemeye Giriş yazısına bakılabilir. Bunlar giriş seviyesinde anlatımlar. Onun dışında özel anlatımlar var. Örneğin sunumunuzda kullanmak üzere animasyon üretmek isterseniz buraya, OpenCV (ne yazık ki güncel sürümü değil) ile entegrasyon için buraya, MPT ile yüz ve göz bulma için buraya, avi dosyalarını daha verimli ve platformdan bağımsız okumak için buraya, ve son olarak da temel bileşenler analizi için buraya bakabilirsiniz.

8 Haziran 2010, Kategori: Programlama, Etiketler:

Eğitim ve önyargılarımız

3 yorum yapıldı

Bu sıralar bir taraftan doktora yeterliliğe çalışırken bir taraftan da Cordelia Fine'ın yazdığı ve Pınar Turanlı'nın dilimize kazandırdığı "Başına Buyruk Beyin: Beynimiz nasıl çarpıtıyor? Nasıl kandırıyor?" adlı kitabı okuyorum. Oldukça şaşırtıcı deneyler ve bu deneyler üstüne yazarın yorumları akıcı bir dille okura sunulmuş. Kitabı çok beğendim. Beyninize olan güveninizi biraz sınamak isterseniz okumak çok hoşunuza gidecektir. Özellikle ilgimi çeken iki deneyi kitaptaki haliyle paylaşmak istiyorum.

Adı çıkmış bir deneyde iki psikolog, Robert Roshental ve Lenore Jacobson dikkatlerini bir okulun sınıfına yöneltmişlerdir. Bir grup okul çocuğuna, zeka seviyelerini ölçtüğü söylenen bir test verildi. Ardından, tahmin edeceğiniz üzere, testin sonuçlarına göre öğretmenlere küçük Johnny, Sally, Eddy ve Mary'nin zeka seviyelerinde birkaç ay içinde bir parlama olacağı söylendi. Aslında bu çocuklar sınıf listesinden rastgele seçilmişlerdi. Ancak öğretmenlerin bu çocuklar hakkında besledikleri olumlu gelişme beklentilerinin, onların zekalarında gerçekten de ölçülebilir bir gelişmeye yol açtığı gözlemlendi. Rosenthal bu sonucu "Bu çocukların gelişme göstereceğine dair büyük beklentileri olan öğretmenlerin onlara karşı 'daha çok ve daha samimi öğret' şeklinde yaklaşmalarına" bağlamıştır. Öğretmenlerin belli kalıplarının ve önyargılarının çocuğunuz üstünde ne denli etkili olabileceğini düşünmek oldukça sıradışıdır. Şayet oğlunuz farkında olmadan öğretmeninin aklındaki "Erkek çocukları kitap okumaktan hoşlanmaz" düşüncesini doğrulayan bir tarza sahipse, bu aslında tamamen öğretmenin böyle düşünmesinden kaynaklanıyor olabilir [1].

Yazının tamamını okuyun »

4 Haziran 2010, Kategori: Eğitim, Etiketler: