Teknisyenler.Net

Wednesday
Sep 08th
Text size
  • Increase font size
  • Default font size
  • Decrease font size

Robotik

İşaret İşleme Teknikleri İle Nota Analizi

İşaret İşleme Teknikleri İle Nota Analizi

Giriş

İşaret işleme, Telekomünikasyon Mühendisliği alanında yer alan bir araştırma ve uygulama dalıdır. “İşaret” sözcüğü, bir sistemin davranışına ya da durumuna ilişkin bilgi taşıyan büyüklüklere verilen addır ve “sinyal” sözcüğü ile eş anlamlı olarak kullanılmaktadır (Kayran, 2004:2). Bu kavram çerçevesinde yazı, resim gibi bileşenler (kavramlar) görsel işaretler; müzik ve konuşma gibi bileşenler de ses işaretleri olarak nitelendirilebilir. Görüntü ve ses işleme, işaret işlemenin özelleşmiş iki alt konusunu oluşturur.

Çalışmanın konusu, bir müzik eserinin melodik bilgisinin, işaret işleme metodları kullanılarak bilgisayar tarafından elde edilmesidir. Bunun için öncelikle ele alınan eserdeki notaların tanımlanması (diğer müzikal öğelerden ayırt edilebilecek duruma getirilmesi), sonra da bu notaların tanınması (özelliklerinin belirlenmesi) gerekmektedir. Çalışma iki ayrı başlık altında sunulacaktır: İlk bölüm görüntü işleme teknikleri kullanılarak, nota kağıdına aktarılmış bir müzik eserinin; ikinci bölüm ise ses işleme teknikleri kullanılarak ses formatındaki bir müzik dosyasının müzikal bilgilerine ulaşılması için gerekli yöntemleri içermektedir.

Yöntemler ve Uygulama

1. Görüntü İşleme Tekniği ile Nota Kağıdından Nota Analizi

Önbilgi

Temel amaç, sayısal formatta kaydedilmiş bir nota kağıdı görüntüsündeki notaların konumlarının ve özelliklerinin (ton ve vuruş -uzunluk- değerlerinin) belirlenerek bu bilginin matematiksel yapıda ve toplu bir biçimde ifade edilmesidir. Eser hakkında özet niteliğindeki bu bilgi kullanılarak parça ile ilgili istatistiksel bilgiler derlenebilmekte ve melodi, bilgisayar tarafından otomatik olarak çaldırılabilmektedir.

Bahsedilen tüm işlemler bilgisayarda mühendislik hesaplamaları için geliştirilmiş özel bir programlama yazılımı olan MATLAB üzerinde gerçekleştirilmektedir. Bu sebeple, kullanılan yöntemin anlaşılmasını kolaylaştırmak için bu aşamada kısaca sayısal görüntü biçimi konusunda bilgi sunmak uygun olur.

Bilgisayar gibi elektronik ortam cihazları tarafından tanımlanabilen görüntü dosyalarına “sayısal görüntü” adı verilir. Sayısal bir görüntü, “piksel” adı verilen ve her biri tek bir renk tonunu barındıran küçük elemanlardan meydana gelir. Pikseller, koordinat düzleminde yatay ve düşey şekilde sıralanarak sayısal görüntüyü oluşturur. Bilgisayar ekranındaki bir resim fazla yakınlaştırıldığında (büyütüldüğünde), resmi oluşturan pikseller, küçük kareler şeklinde görülebilir. Bir nota görüntüsü ve bu görüntünün bir kısmının büyütülmüş durumu Şekil 1’de gösterilmektedir.

Resim yakınlaştırıldığında görülebilen piksellerin resim dosyası üzerindeki konumları birer satır ve sütun numarası ile tanımlanabilir. Matematiksel dilde satır ve sütunlardan oluşmuş böyle bir yapıya “matris” adı verilmektedir (Digital Image Processing, 2002:55).



Şekil 1. Dörtlük bir nota ve görüntü büyütüldüğünde ortaya çıkan piksel yerleşimleri

Her bir pikselin taşıdığı renk tonu, elektronik cihaz üreticileri tarafından ortaklaşa kararlaştırılmış bir sayı kodu ile belirtilir. Yalnızca siyah ve beyaz tonlardan oluşan bir görüntüde siyah ton “0”, beyaz ton ise “1” rakamı ile gösterilir. Bu tip görüntülere yalnızca iki ton barındırdıklarından, “ikili görüntü” adı verilmektedir. Nota kağıdına aktarılmış bir müzik eserinde yazım renginin bir önemi olmadığından, çalışmada ikili formattaki nota kağıdı görüntüleri kullanılmıştır.

Notaların Belirlenmesi

Görüntü işleme açısından notanın tonunun ve uzunluğunun belirlenmesi işlemi sırasıyla, notanın porte üzerindeki yerinin ve nota yuvarlağının dolu olup olmadığı, yanında uzatma noktası veya kuyruğu bulunup bulunmadığı gibi bilgilerin edinilmesine karşılık gelmektedir. İşlemin adımları, örnek olarak Şekil 2 üzerinde gerçeklenecektir.



Şekil 2. Örnek nota kağıdı görüntüsü

Böyle bir görüntü (Şekil 2) müzik eğitimi almış kişiler için bir anlam ifade etse de, bilgisayar için 0 ve 1’lerden oluşmuş piksellerden (matris hücrelerinden) başka bir anlam taşımamaktadır. “Nota” kavramını bilgisayara anlatmak mümkün olmadığından, yalnızca renk tonundaki zıtlıklardan ve notasyon ile nota kağıdı oluşturma geleneğinin sağladığı olanaklardan yararlanarak nota yerleri bulunmaya çalışılacaktır.

Nota yerlerinin (koordinatlarının) tanımlanabilmesi için öncelikle porte çizgilerinin bilgisayar tarafından öğrenilmesi gereklidir. Bu amaçla görüntü tepeden aşağı, satır satır taranır. Bir satır boyunca siyah ton (piksel) yoğunluğunun önceden tanımlı bir eşik değerden daha yüksek olması durumunda, bu satır bir porte çizgisi olduğu yönünde bir etiket ile belirlenir. Nota kağıtlarıyla yapılan denemeler ile bu yoğunluk sınırının, tüm satırın %70’i olarak alınmasının uygun olduğu görülmüştür. Bu işlem sonucunda hem işaretli (etiketli) satırların ana resmin kaçıncı satırları olduğunu belirten bir çıktı, hem de yalnızca portenin görülebildiği bir resim elde edilebilir (Şekil 3).


Şekil 3. Şekil 2’de portenin belirlenmesi ile elde edilen görüntü

Gerçekte bir nota kağıdında yalnızca tek bir portenin bulunmayacağı açıktır. Böyle bir durumda görüntü baştan aşağı taranarak her beş porte çizgisinden sonra yeni bir portenin geleceği varsayılabilir ve bu sayede ilerideki adımlar, her bir porte parçası üzerinde tekrarlanabilir.

Aranan bilgi, yalnızca notalar tarafından taşınmaktadır. Dolayısıyla notaların tanımlanabilirliğini artırmak üzere görüntüdeki diğer elemanlar silinebilir. Sayısal bir görüntü yalnızca rakamlar içeren bir matris yapısında olduğundan, bu matrisin hücreleri arasında toplama, çıkarma gibi matematiksel ve ‘VE’, ‘VEYA’, ‘DEĞİL’ gibi mantıksal işlemler yürütülebilir. Örneğin, orijinal resim (Şekil 2) ile yalnızca porteyi içeren resmin (Şekil 3) mantıksal olarak karşılaştırılması sonucu, portenin görüntüden silindiği resim elde edilmektedir (Şekil 4).



Şekil 4. Portesi silinmiş nota kağıdı görüntüsü

Aynı yöntem, elde edilen bu görüntüdeki ölçü çizgileri ve nota çizgileri gibi düşey çizgileri elemek için de kullanılır. Bu kez, yan yana sıralanmış her bir sütun üzerinde siyah piksel yoğunluğunun %85’i geçmesi durumunda, sütun silinmek üzere markalanır. Sonuçta oluşan durum Şekil 5’teki gibidir.


Şekil 5. Düşey çizgilerin de elenmesi sonucu oluşan görüntü

Belirtilen koşul sağlandığından, sol anahtarının da büyük bir kısmı görüntüden silinmiştir. Ancak anahtar ve hemen yanındaki ölçü işareti bu işlem sonucu tamamıyla yok edilememiştir (Şekil 5). Nota kağıdındaki her portede bu elemanların bulunduğu düşünülecek olursa, bunların göz ardı edilerek yalnızca notaların resimde görüneceği bir sol-sınır (sütun) bulunabilir. Çeşitli nota kağıtlarıyla yapılan denemeler notaların, resmin tüm sütunlarına oranla %8’inden önce başlamadığını, dolayısıyla görüntünün buraya kadar olan kısmının ihmal edilebileceğini göstermiştir. Böyle bir yöntem izlendiğinde, yalnızca ilgilenilen elemanların (nota, nokta ve kuyrukların) bulunduğu Şekil 6 elde edilmektedir.




Şekil 6. Yalnızca ilgilenilen elemanların bulunduğu görüntü biçimi

Bu aşamadan sonra istenen, her nota yuvarlağının tek tek konumlarının bulunmasıdır. Ancak bunun için, notayı ortadan bölen (porte çizgisinin çıkarılmasıyla oluşan) beyaz çizgilerin ve notalara ait nokta ve kuyrukların göz ardı edilmesi gerekmektedir. Bu amaçla, elde edilen şekil üzerine çeşitli morfolojik yöntemler uygulanır.

Sayısal görüntü işlemede morfolojik yöntemler, söz konusu resmin genel yapısını bozmadan şekilsel bir takım düzeltmeler yapmak üzere kullanılan genişletme, daraltma, budama gibi işlemlerden oluşur (Digital Image Processing, 2002: 519). Morfolojik düzeltmeler sonucunda, Şekil 7’de gösterildiği gibi nota yerlerinin belirlenmesi için istenen görüntü düzenine ulaşılır.



Şekil 7. Morfolojik düzeltmeler sonucu ulaşılan nota görüntüsü

Görüldüğü gibi Şekil 7’deki resimde her bir nota yuvarlağı aslında onlarca pikselin bir araya gelmesiyle oluşmaktadır. Bu piksellerin koordinatlarının ortalama değerleri alınarak, her bağımsız nota yuvarlağının tek bir piksel koordinatı, başka bir deyişle (satır,sütun) ikilisi ile belirlenmesi sağlanır. Bu (satır,sütun) ikilileri bir tabloşeklinde kaydedilir.

Notaların ton bilgisine ulaşmak amacıyla, her bir nota için kaydedilen piksel koordinatı, porte çizgilerinin daha önceden çıkartılmış bulunan koordinatlarıyla karşılaştırılır ve notanın, hangi çizginin üzerinde ya da hangilerinin arasında bulunduğu tespit edilir. Böylece elde edilen ton bilgisi, matematiksel bir kod ile hazırlanan tabloya yeni bir sütun oluşturacak biçimde eklenir.

Nota Uzunluklarının Belirlenmesi

Notaların uzunluk değeri birçok eleman tarafından ortaklaşa belirlendiğinden, doğru bilgiyi tek bir aşamada elde etmek olası değildir. Bu nedenle önce, nota yuvarlaklarının içinin dolu olup olmadığına bakılır. Her bir notanın koordinatını belirleyen pikselin çevresindeki 3x3 piksellik bölgede siyah yoğunluğu %50’nin altında kalıyor ise, bu nota içi boş (2 vuruşluk) bir nota olarak değerlendirilir. Aksi takdirde, notanın 1 vuruşluk ya da daha düşük değerde (uzunlukta) bir nota olduğu belirlenir.

Bundan sonraki aşamalar ise notanın yanında nokta ve sapında kuyruk olup olmadığının araştırılmasını kapsar. Nokta araştırması için, öncelikle notanın görüntüsünün en sağ uç noktası (pikseli) işaretlenir. Bu noktadan sağa doğru küçük bir alanda (denemeler 5x4’lük bir alanın yeterli büyüklükte olduğunu göstermektedir) noktayı belirten bir siyah piksel bulunup bulunmadığı araştırılır. Eğer notanın yanında nokta olduğu tespit edilirse, notanın önceden belirlenmiş uzunluk değeri 1.5 katınaçıkarılır.

Nota sapında kuyruk bulunup bulunmadığıyla ilgili araştırma da benzer biçimde yapılabilir. Notanın çiziliş biçimine uygun olarak, sağ-üst veya sol-alt yakınlığında bir siyah piksel varlığı, nota kuyruğunu belirtecektir. Bu durumda notanın önceden belirlenmiş uzunluğu yarıya düşürülür. Notanın hem kuyruğu, hem de noktası olma durumunda öncelikle kuyruk tarafından belirlenen süre düzeltmesi değerlendirilir.

Elde Edilen Verilerin Kullanılması

Tüm bu işlemler sonucunda notanın ton ve uzunluk (vuruş) değerleri belirlenmiş olur. Bu bilgiler son halini alan bir tabloda saklanır (Tablo1). Artık yalnızca matematiksel ifadeden oluşmuş bu tabloyu kullanılarak eser hakkında nota analizi yapmak olanaklıdır. Örneğin, tonlarına göre nota dağılımı ya da eserde daha çok kaç vuruşluk notaların yer aldığı bilgilerine kolaylıkla ulaşılabilir. Ayrıca, yine bu tablodaki bilgiler kullanılarak nota analizi yapılan eserin bilgisayar tarafından çaldırılması da sağlanabilir.

Sıra Nota Ton Nota Vuruş
1 Mi 1
2 Mi 1
3 Fa 1
... ... ...
13 Mi 1.5
14 Re 0.5
15 Re 2

Tablo 1. Örnek parça için nota ton ve vuruş değerlerini içeren tablo

MATLAB kullanılarak hazırlanan programın görsel kullanıcı arayüzü Şekil 8’de sunulmaktadır. Sol taraftaki pencerede ilgilenilen sayısal görüntü dosyasının adı girilerek alt bölümde nota kağıdı izlenebilmektedir. Bu pencerenin sağ üst kısmında yer alan düğmeler ile notaların frekans değerleri, belirtilen yarım ses tonu kadar transpoze edilebilmekte ve bu sayede farklı varyasyonlar dinlenebilmektedir. En sağda yer alan iki pencerede ise sırasıyla vuruş sayılarının ve notaların parça içindeki dağılımı grafiksel olarak gösterilmektedir.



Şekil 8. MATLAB görsel kullanıcı arayüzü

2. Ses İşleme Tekniği ile Müzik Dosyasından Nota Analizi

Önbilgi

Bu bölümde ses işleme tekniği kullanılarak, dinlenebilir formattaki bir müzik dosyasında seslendirilen eserin nota analizi için bir yöntem sunulacaktır. Burada öncelikle, sesin dalga yapısının işaret işleme açısından önem taşıyan kısmı ile ilgili kısaca bilgi verilecektir.

Bilindiği gibi her ses, genliği sesin şiddeti, frekansı ise sesin tonu ile belirlenen bir dalga biçimi oluşturur. Bilgisayar tarafından oluşturulan tek frekanslı sesler, tek bir sinüs dalgası biçiminde ifade edilebilir. Doğal sesler (insan sesi, enstrüman sesi gibi) ise bundan çok daha karmaşık yapıdadır ve geniş bir frekans bandına yayılmıştır. Ancak karmaşık yapılı olsalar dahi tüm sesler, belirli frekanslara sahip sinüsoidlerin (sinüs benzeri dalga biçimlerinin) süperpozisyonu (belirli ağırlıklarla çarpılarak toplanmış kombinasyonları) biçiminde ifade edilebilir (Signals and Systems, 2003: 195).

Bir ses işaretini oluşturan frekansların görülmesi için bu işaretin frekans spektrumu incelenebilir. Frekans spektrumu kabaca, işaret içinde hangi frekanslardan ne ağırlıkta bulunduğunu gösteren bir grafiktir. Dolayısıyla eğer enstrüman seslerinde olduğu gibi çalınan notada baskın bir frekans mevcut ise bu, frekans spektrumunda kendini yüksek ağırlıklı (genlikli) bir tepecik olarak gösterir.

Her nota, belirli bir frekans bandı içerisinde anlam taşır ve bu frekans bandının orta noktasındaki değer, o notanın merkez frekansı olarak adlandırılır. Frekans bandlarının notalarla ilişkilendirilmesi ise farklı biçimlerde olabilmektedir. Evrensel olarak kabul edilmiş bulunan “Tampere Sistem”de her ses tonu bir öncekini, öncekinin frekansının 21/12 = 1.059 katı kadar bir frekansla takip etmektedir. Bu şekilde sıralanan 12 ses tonu bir oktav oluşturur, dolayısıyla her oktavın başlangıç tonu, bir önceki oktavın başlangıç tonunun tam iki katı frekansındadır. Genel olarak insan kulağının algılayabileceği seviyede en düşük frekanslı (en kalın) ton, 55.00 Hz’lik temel frekansa sahip A1 notasıdır. Oktav değişimleri ise, A2 = 110.00 Hz, A3 = 220.00 Hz örneğinde olduğu üzere, nota yanındaki rakamın değişimi ile sembolize edilir.

Notaların Belirlenmesi

Birinci bölümde olduğu gibi bu bölümde de, ilgilenilen ses dosyasının melodik özelliklerinin belirlenebilmesi için nota tonlarının ve uzunluklarının ayrı ayrı belirlenmesi gerekmektedir. Nota tonları, her bir notanın frekans bilgisi kullanılarak, nota uzunlukları ise bir zaman ölçeğinde her bir notanın bağıl (birbirlerine oranla) uzunlukları belirlenerek çıkarılacaktır.

Asıl inceleme konusu olan nota özelliklerinin tanımlanabilmesi için, öncelikle ses dosyasının, her biri tek bir notayı içeren parçalara bölünmesi gerekmektedir. Bu da, notaların ses dosyasında başlangıç ve bitiş noktalarının (anlarının) belirlenmesi problemini beraberinde getirmektedir. Bu işleme kısaca, “başlangıç yeri tespiti” adı verilir (On the computer recognition of solo piano music: 2). Bu tespit çalışmanın en önemli aşamasını teşkil etmektedir. Bu aşama doğru yapıldığı takdirde bundan sonraki tüm işlemlerin minimum (%5’in altında) hata payı ile yürütülebildiği görülmüştür.

Çalışma, Şekil 9’da zaman grafiği verilen ses dosyası üzerinde aktarılacaktır. Bu dosyada, bir çıkış-iniş Do Majör dizisi seslendirilmektedir.




Şekil 9. Ses işleme tekniği için örnek ses dosyasının dalga biçimi

Yüksek genlikler (tepecikler) ile belirlenen nota başlangıç anları yalnızca grafiğin incelenmesi ile insan gözü tarafından kolaylıkla kestirilebilmektedir. Örnek olarak sunulan grafikte de (Şekil 9) her bir notanın başlangıcı ani yükselen genlik seviyesi ile ayırt edilebilmekte ve nota dalga biçiminin mutlak genliğinin (başka bir deyişle salınım şiddetinin), diğer notanın başlangıcına kadar düşmekte olduğu gözlenmektedir.

Ancak aynı tespitin bilgisayar tarafından otomatik olarak yapılması istendiğinde, durum aynı derecede basit değildir. Grafiğe yakından bakılacak olursa belirli bir nota içinde genlik dağılımının düzgün azalan biçimde olmadığı, tek bir notanın dalga biçiminde dahi ani sıçrama noktalarının bulunduğu görülecektir. Bilgisayarın bu değerleri bir nota başlangıcı olarak adlandırmaması için çeşitli istatistiksel tanımlamaların ve bazı fiziksel kıstasların programa “öğretilmesi” gerekmektedir. Söz konusu problemin çözümü için kullanılan algoritma aşağıdaki gibidir:

Dalga biçimi zamanda ayrık bir fonksiyon şeklinde verilen (çok kısa zaman aralıklarında örneklenmiş değerler içeren) ses işareti x(n) simgesi ile, bu işaretin mutlak biçimi (tamamı pozitif değerlerden oluşan şekli) ise | x(n) | simgesi ile tanımlanır.

Mutlak işaretin ortalama değeri (µ) ve standart sapması (σ) hesaplanır. Ortalama, karşılaşılması en olası genlik değerini belirtirken standart sapma, değerlerin ortalamadan ne ölçüde değişim gösterdikleri konusunda bir referans bilgi oluşturmaktadır.

Ortalamadan dört standart sapma kadar farklılık gösteren genlik değeri eşik olarak seçilir. Bu sınır değerin üzerinde kalan noktalar, mutlak işaretin dalga biçimi üzerinde bulunup işaretlenir (Şekil 10). Bu durum, grafikte yalnızca ani genlik sıçramalarının olduğu bölgelerin (tepe bölgelerinin – nota başlangıç bölgelerinin) ön plana çıkarılmasına yardımcı olmaktadır. Böylece işaretlenmiş noktalardan oluşan bir grafik izlenebilir (Şekil 11).




Şekil 10. |x(n)| işareti üzerindem değerinin ve µ +4σ eşiğinin gösterilmesi



Şekil 11. Ortalamadan en az dört standart sapma kadar farklı olan noktaların yerleri

Bu koşulu sağlayan noktalar tepe noktalarının yeri konusunda oldukça iyi bir yaklaşım sergilemekle birlikte, her bir tepe (nota) için tek bir işaretlenmiş nokta bulmak mümkün olmamaktadır. Bu durumda bilgisayarın hesaplamalarına fiziksel gerçeklenebilirlik ile ilgili bir kısıt getirmek gereklidir: “Çalınan iki notanın başlangıçları arasındaki sürenin, saniyenin üçte birinden az olması fiziksel olarak gerçekleşmesi zor bir durumdur.” İşte bu kısıt koşul algoritmaya dahil edildiğinde ve koşulu sağlamayan noktaların işaretlerinin kaldırılması istendiğinde, her bir nota başlangıcı için tam olarak bir tepe noktası işaretlenmiş olmaktadır (Şekil 12). Ayrıca, parçanın bitişini sembolize edecek şekilde en sona da bir işaret yerleştirilmelidir:

Şekil 12. Her nota başlangıcı için tek işaretlenmiş nokta içeren grafik

Böylece notaların başlangıç noktaları hata payı en az olacak biçimde işaretlenmiştir. Her bir notanın birbirini aralıksız (durak olmaksızın) takip ettiği göz önüne alınacak olursa, bir nota uzunluğunun işaretli bir noktadan sıradakine kadar olduğu varsayılabilir. Böylece sıra, notaların hangi tonda olduklarını belirlemeye gelmiştir.

Bu işlem için, işaretli iki nokta arasındaki bölgede bulunan dalga biçiminin frekans spektrumu incelenir. Burada notanın merkez frekansı çok belirgin biçimde elde edilememekle birlikte, çeşitli yaklaşımlar kullanılarak ilgilenilen aralıkta hangi frekansın (ses tonunun) baskın olarak bulunduğu belirlenebilmektedir. Her bir nota için belirlenen bu değerler bir tabloya sırasıyla kaydedilir.

Nota Uzunluklarının Belirlenmesi

Nota başlangıç yerleri ve notaların birbirlerini aralıksız takip ettiği bilgisini kullanarak, iki nota başlangıcı arasındaki zaman farkından, her bir notanın ne kadar süre ile (kaç saniye) çalındığını belirlemek olanaklıdır. Ancak, müziği okuyan kişi açısındanönemli olan notanın süre cinsinden değil, vuruş cinsinden uzunluğudur.

Nota uzunluklarının (vuruşlarının) belirlenmesi konusundaki en önemli problem, eserdeki nota tipleri ile ilgili sisteme bir ön bilgi verilmemiş olmasıdır. Aynı müzik eserinde çalınan benzer notaların uzunlukları, kullanılan enstrümana, seçilen tempoya ve hatta çalan kişinin tarzına bağlı olarak değişkenlik gösterebilmektedir. Üstelik, çalış esnasında aynı vuruşa sahip iki notanın da bire bir eşit sürelerle çalınması olanaklı değildir.

Bu durum, yine birtakım varsayımlar yaparak sisteme bazı kısıtlamalar getirmeyi gerektirmektedir. Bu amaçla öncelikle, ilgilenilen eserin yalnızca 8’lik, 4’lük, 2’lik notalar ile bunların tek kuyruklu ve tek noktalı versiyonlarından oluştuğu varsayılacaktır (Varsayım, sonraki işlemlerin basitleştirilmesi amacıyla yapılmaktadır, teoride tüm vuruş çeşitlerinin kapsanması söz konusudur). Ayrıca, nota sürelerinden vuruş sayılarına sağlıklı bir dönüşüm yapabilmek amacıyla, bir referans nota uzunluğu seçilmelidir. Böylece diğer notaların vuruşları, bu referans notanın vuruşu ile karşılaştırılarak belirlenebilir. Yine basitlik amacıyla bu referans nota, parçada en çok kullanılmış nota olacak biçimde seçilebilir.

Nota vuruşlarının tespiti için kullanılan algoritma da şu adımlardan oluşmaktadır: Öncelikle, tüm notalar süre bakımından kısadan uzuna olacak şekilde sıralanır. Daha önce belirtildiği gibi, nota başlangıçlarının kesin tespit edilememesi olasılığı ve müzisyenin benzer vuruşlu notaları tam olarak eşit süreler ile çalamayacağı gerçeğinden hareketle, notaların süre bakımından gruplandırılması gerekmektedir. Sıraya dizilmiş bu notalara bakıldığında, vuruş bakımından farklı, ardışıl iki notanın arasındaki süre farkının en az 1.5 olması gerektiği açıktır. Bu iki orandan başka bir olasılık söz konusu olmadığından, uzunluk bakımından birbirlerine oranı 1.25’in altında olan ardışıl her iki nota, aynı grupta olacak şekilde sınıflandırılabilir. Bir sonraki aşamada bu grubun en düşük süreli elemanı referans olarak alınır ve işlemlere devam edilerek gruplar oluşturulur.

Verilen örnekte, parçada en çok 1 vuruşluk (dörtlük) notalar bulunmaktadır. Bu durumda dörtlük notalar çok yüksek olasılıkla uzunluklarına göre sıralanmış dizinin ortasında yer alacaktır. Dolayısıyla, dizinin tam ortasında yer alan nota, referans nota olarak belirlenmektedir. Varsa, önceden gruplanmış diğer notalar da bu referans büyüklüğe oranlanarak 8’lik notalar, 2’lik notalar, vb. şekilde etiketlendirilir.

Belirlenen nota uzunluklarının parçanın temposuna uygun olmadığı düşünülecek olursa sonradan tüm notaların vuruş sayısı belirli bir tamsayı ile çarpılıp bölünerek düzenleme yapılabilir.

Böylece elde edilen notaların vuruş bilgisi, nota tonlarının bulunduğu tablonun yanına eklenir. Son halini alan bu tablo, eserdeki tüm notaların, dolayısıyla eserin kendisinin bilgisayar için ileri düzey hesaplamalara uygun bir özet bilgisini taşımaktadır.Örnek parça için çıkartılan tablo, Tablo2’de sunulmaktadır:

Sıra 1 2 3 ... 7 8 9 ... 15 16 17
Nota Ton C4 D4 E4 ... B5 C5 B5 ... C4 B4 C4
Nota Vuruş 1 1 1 ... 1 1 1 ... 1 1 3

Tablo 2. Örnek parça için nota ton ve vuruş bilgisini içeren tablo

Elde Edilen Verilerin Kullanılması

Görüntü işleme ile nota analizinde elde edilen sonuç tablosu, notaların bilgisayar yardımıyla seslendirilmesi için kullanılmıştır. Ses işleme tekniği ile elde edilen sonuçlar da bilgisayar tarafından otomatik olarak eserin nota kağıdının hazırlanması için kullanılabilir. Önceden hazırlanmış nota, porte, anahtar gibi müzik elemanlarının resim formatındaki şablonları, tablodan edinilen bilgiler doğrultusunda bir araya getirilerek nota kağıdının oluşturulması sağlanabilmektedir. Örnek ses dosyası için hazırlanan programın çalıştırılmasıyla, Şekil 13’teki görüntü oluşturulmuştur.



Şekil 13. Örnek ses dosyası için oluşturulan nota kağıdı görüntüsü

Günümüzde internet bağlantı ve veri aktarım hızlarının giderek artmasına karşın, bilgisayarlar arasında büyük boyutlu müzik dosyalarının aktarımı sırasında halen uzun süreler beklemek gerekebilmektedir. Elde edilen sonuçlar, eseri dinlemek yerine yalnızca hakkında genel bir fikir edinmek isteyen bilgisayar kullanıcıları için de oldukça kullanışlı olabilecektir: Notalar hakkındaki özet bilgi, eserin ses formatındaki bütününe oranla çok daha az yer kaplamakta ve aktarımı çok daha hızlı biçimde yapılabilmektedir. Alıcı kişi, bu bilgiyi kullanarak kendi bilgisayarında eserin otomatik olarak seslendirilmesini sağlayabilir ve bu sayede melodiyi dinleyebilir.

Bu amaçla düşünülmüş iki farklı yöntem bulunmaktadır: Birincisi, ses sentezi ile, seslerin tamamıyla bilgisayar tarafından otomatik ve anlık olarak üretilmelerini sağlamaktır. Bu yöntemin en basit hali, görüntü işleme ile nota analizi bölümünün sonunda kısaca belirtilen, her tonun birer sinüs dalgası ile sembolize edilerek çaldırılması durumudur. Ancak günümüzde çok daha gelişmiş ses sentezi teknikleriyle, birçok müzik enstrümanının sesi yüksek başarıyla taklit edilebilmektedir.

Daha az bilişsel emek gerektiren bir başka yöntem ise, dinlenilmesi istenen enstrüman seslerinden kayıt alarak her nota (ton) için ses örnekleri toplamaktır. Bu ses örnekleri, tabloda yazılı olan bilgiler kullanılarak art arda eklenebilir ve böylece melodi, istenen enstrüman ya da enstrüman kombinasyonu ile dinlenebilir.

Proje çalışması sırasında ikinci yöntemi test etmek üzere, İTÜ Türk Musikîsi Devlet Konservatuvarı’nda çeşitli enstrümanlardan ses (nota) örnekleri toplanmıştır. Bir veritabanına kaydedilen bu ses örnekleri, farklı nota tabloları ile denenmiş ve yöntemin -eser hakkında genel bir bilgi edinmeye yetecek düzeyde- oldukça başarılı biçimdeçalıştığı gözlenmiştir.

MATLAB’de hazırlanan programın görsel kullanıcı arayüzü Şekil 14’te verilmektedir. Dosya adı ilgili bölüme yazıldığında, ilgili düğmeye tıklayarak gerek eserin çaldırılması, gerekse nota kağıdının oluşturulması sağlanabilmektedir. Bir alt bölümdeki düğmeler ise, analiz edilen eserin çeşitli enstrümanlar veya enstrüman kombinasyonları kullanılarak seslendirilmesi için atanmıştır. Tempo kısmıyla da çalınan melodinin hızı ayarlanabilmektedir.

 

Şekil 14. MATLAB görsel kullanıcı arayüzü

Sonuçlar ve Tartışma

1. Bölümün Sonuçları:

1a. Çalışmada, nota kağıdının görüntü işleme tekniği ile analizi için işlemsel açıdan basit bir yöntem önerilmektedir. MATLAB dili kullanılarak hazırlanan programda W.A. Mozart’ın “9. Senfoni” ve J.S. Bach’ın “Minuet in G” başta olmak üzere çeşitli müzik eserlerinden kısa parçalar denenmiş ve nota tanımada %95’lere varan başarı elde edilmiştir.

1b. Yöntemin bu üstün başarısına rağmen, ölçümlere konu olan nota görüntülerinin müzikal uzmanlık açısından başlangıç seviyesinde seçilmiş olduğu söylenebilir. Aktarılan metod yalnızca notaların tespiti için geliştirilmiştir ve nota kağıdında yer alan anahtar, ölçü, diyez, bemol ve duraklama işaretleri gibi diğer birçok öğeyi göz ardı etmektedir. Ancak, nokta ve kuyruk tespitleri için kullanılan yöntemlerin benzerleri çeşitli görüntü tanımlama ve sınıflandırma metodlarıyla birlikte kullanıldığında, programın bu öğeleri de tespit edecek biçimde uyarlanabilmesi mümkündür. Bu açıdan program, çok fonksiyonlu ve kullanıcı dostu arabirime sahip gelişmiş bir müzik gösterimi ve analizi yazılımının başlangıç aşamaları olarak değerlendirilmelidir.

1c. Nota yerleşimlerinin doğru tespitini sağlayan sistem parametre değerlerinin yalnızca kısıtlı sayıdaki matbaa baskısı nota kağıtlarında denendiği ve el yazısı veya standart dışı müzik notasyonlarında aktarılan yöntemin kesin sonuç vermeyebileceği unutulmamalıdır.

1d. Programın becerileri, müzik eğitimi alanında bir yardımcı kaynak oluşturacak şekilde değerlendirilebilir, özellikle bireysel (kendi kendine) solfej-enstrüman öğreniminde, öğrenciye bir referans oluşturacağı düşünülmektedir: Bir müzik eserinin deşifre edilmesi sırasında, melodinin önceden biliniyor olması çalışan kişiye çeşitli kolaylıklar getirebilmektedir. Program ile çalışılan parçanın görüntüsü bilgisayara aktarılarak, melodinin önceden dinlenebilmesi, veya sonrasında doğru öğrenilip öğrenilmediğinin denetlenmesi sağlanabilir.

2. Bölümün Sonuçları:

2a. MATLAB ile hazırlanmış olan nota analiz programı, denenen birçok örnek ses dosyasındaki notaları doğru biçimde tanımlayabilmiş ve bu açıdan oldukça başarılı sonuçlar elde edilmiştir. Notaların başlangıç ve bitiş noktalarının tam olarak belirlenmesi işleminin, sistemin toplam başarımını etkileyen en önemli adım olduğu açıktır.

2b. Programın testi sırasında küçük bir bölüm ses dosyasında ise kısmen, notaların eksik ya da hatalı tespit edilebildiği gözlenmiştir. Bu durumun başlıca iki sebebi olduğu görülmüştür:

Özellikle yüksek tempolu müziklerde kimi notalar henüz doğal ses zayıflamasını tamamlamadan bir diğer nota çalınmakta ve bu durum nota başlangıç yerlerinin tespiti için kullanılan algoritmanın yetersiz kalmasına sebep olmaktadır. Parça temposuna uygun adaptif bir düzenlemeyle bu sorununüzerinden gelinebileceği düşünülmektedir.

Notaların tespiti için kullanılan kimi ses dosyalarında kayıt ortamından kaynaklanan gürültü (istenmeyen sesler), notaların tespitini zorlaştırmaktadır. Ayrıca, bazı enstrümanların dalga biçimlerinde, notanın kendi frekansından çok, harmoniklerinin frekansı baskın olarak görülebilmektedir. Bu gibi bir durumda nota isminin doğru tespit edildiği, ancak bir oktav incesi olacak biçimde yanlış tanımlandığı belirlenmiştir.

2c. Çalışma, yalnızca basit (tek enstrümanla çalınmış ve her seferinde yalnızca tek bir notanın bulunduğu) müzik eserlerinin nota analizinin yapılabilmesi için yöntem önerilerini içermektedir. Profesyonel düzeydeki müzik eserlerinin analizi için temeli aynı olan bu yöntemler üzerinde çeşitli düzenlemeler yapılması gerekliliği ortadadır.

2d. Müzik dosyalarının iletiminde, programın amacına benzer şekilde veri miktarını azaltmayı hedef alan genelleşmiş bir bilgisayar formatı mevcuttur. MIDI formatı olarak bilinen bu tür dosyalar (.mid) uzantısına sahiptir. Ancak MIDI dosyaları çoğunlukla doğrudan bilgisayara bağlanan özelleşmiş enstrümanlar aracılığıyla oluşturulur. Aktarılan yöntem, doğal müzik seslerinin MIDI ya da eşdeğer bir formata dönüştürülmesi için de bir ara basamak oluşturabilir.

2e. Birinci bölümde aktarılan çalışmaya benzer şekilde, bu çalışmanın da müzik eğitimine ve profesyonel müzik çalışmalarına yardımcı bir kaynak yazılımın temellerini oluşturabileceği öngörülmektedir: Bireysel çalışma sırasında enstrüman çalan öğrencinin eseri doğru seslendirip seslendirmediğinin kontrolü, nota tablosunun orijinal eserle karşılaştırılması sonucu daha kolay biçimde yapılabilir. Ayrıca nota kağıdına aktarılmamış ya da nota kağıdı bulunamayan bir eserin çok kısa sürede görsel biçime dönüştürülmesi sağlanabilmektedir.

Kaynaklar

Dixon, S. On the computer recognition of solo piano music.
Dodge, C., Jerse, T.A. (1999). Computer Music: Synthesis, Composition and Performance. Schirmer Books.
G Major Music Theory, http://www.gmajormusictheory.org (02.09.2006)
Gonzalez, R.C., Woods, R.E. (2002). Digital Image Processing, Second Edition. New Jersey: Prentice Hall.
Haykin, S., Van Veen, B. (2003). Signals and Systems, Second Edition. USA: John Wiley.
İman, Y. (1990). Piyano Metodu. Arkadaş Yayınevi.
Kayran, A.H., Ekşioğlu, E.M. (2004). Bilgisayar Uygulamalarıyla Sayısal İşaret İşleme. İstanbul: Birsen Yayınevi.
Kirk, R., Hunt, A. (1999). Digital Sound Processing for Music and Multimedia. Focal Press.
Musical Note Frequencies, http://www.techlib.com/reference/musical_note_frequencies.htm (02.09.2006)
Musictheory.Net, http://www.musictheory.net (02.09.2006)
Zeren, A. (1997). Akustik Ses Fiziği, 2. Basım. İstanbul: Pan Yayıncılık.

Hazırlayan :

Erinç DİKİCİ

 

Zeki Agentlerin Tasarımı

Zeki Agentlerin Tasarımı

1. Giriş

Bir agent kendisine verilen bir görev ortamında çalışır.

Görev agent in başarmaya çalıştığı amaç.
Ortam agent tarafından yaşama ortamı olarak kullanılan dünyanın bir kısmı yada bir hesaplama sistemi.

Bir agent üç ana bileşenden oluşur:

Agent programı Algılar ve hareketler arasındaki eşleşmeyi hayata geçirir.(bazen bu hareket seçici fonksiyon yada hareket oluşturma olarakta tanımlanır.)
Agent statüsü Bu, agent programının üzerinde çalıştığı tüm iç betimlemeleri içerir. Bu, agent in tüm çevresinin ve hedeflerinin betimlemesini , bu amaca ulaşmak için kullandığı planları, planların hangi kısımlarının uygulandığımda içerebilir.
Agent Mimarisi Agent in algılayıcılarından agent programın kullandığı algıları alan, agent programı çalıştıran, agentın statüsünü güncelleyen, ve agent program tarafından seçilen en alt düzey hareketleri yaptıran ve sanal da olabilen bir makine.

Agent'ın mimarisi agent programın atomik işlemlerini belirler, ve dolaylı olarak agent in bileşenlerini belirler. Agent mimarisi hangi işlemlerin otomatik olarak agent programın müdahalesi olmadan olacağımda belirler. Hayata geçirilmiş bir agent ta sanal makinelerin bir hiyerarşisi söz konusudur: agent program mimarinin sağladığı en basit işlemler cinsinden ifade edilir; mimari genellikle bir proglama dili cinsinden hayata geçirilir, programlama dilide o makinedeki işlemcinin basit işlemleri cinsinden hayata geçirilir.

Mimari tarafından desteklenen temel işlemler otomatik olarak olan şeylerle birlikte hangi çeşit mimari olacağını belirler, örneğin tepkin bir mimari mi yoksa düşünen bir mimarimi.







1.1. Robot Kontrol Sistemi Spektrumu

 

Hiyerarşik kontrol belli bir yapısı olan ve büyük olasılıkla önceden tahmin edilebilen bir dünya için uygundur. Bununla birlikte Tepkin Sistemler Hiyerarsik sistemlerde mevcut olan bariz bir çok dezavantaja yanıt olarak geliştirilmiştir.

2. Tepkin Sistemler

Tepkin bir robotik sistem algı ve hareketi , soyut betimlemeleri ve geçmiş tecrübeleri kullanmaksızın birbiriyle eşleştirir. Ya da başka bir deyişle tepkin kontrol , dinamik olan ve belli bir yapısı olmayan bir ortamda , motor-sal davranışlar yönünden algı ve hareketi sıkıca eşleştiren bir tekniktir. Ya da algıların hareketleri direk olarak tetiklediği sistemler olarak düşünülebilir.

Tepkin robotik sistemlerin belli başlı özellikleri şunlardır:

- Davranışlar robotik hareketlerin temel yapı taşlığını yapar Bu sistemlerde davranış tipik olarak basit bir algılayıcı ve motor çiftinden oluşur. Algılayıcı aktivite, alçak düzeydeki bir motor refleksel yanıtın uygulanabilmesi için gerekli bilgiyi sağlar.

- Bir yanıt oluşturma sırasında belirgin soyut betimsel bilginin kullanılmasından kaçınılır. Tamamen tepkin olan sistemler, dünyaya soyut betimsel bilgiyi kullanmadan algılandığı şekilde doğrudan refleks gösterirler. Esas olan, ne görüyorsan var olan odur. Bu özellikle çok fazla dinamik yapıda olan tahmin edilemezliğin ve düşmalığın çok olduğu tehlikeli dünyalar için özel bir anlam ifade eder. Soyut bir dünya modeli oluşturmak zaman harcatan ve hata oluşturma olasılığı yüksek bir işlem ve bu yüzdende robotların hareketlerinin potansiyel doğruluğunu tahmin edilebilirliği çok yüksek dünyalar dışında azaltan bir iştir.

- Hayvanların davranış modelleri sıksık bu sistemlerde temel olarak kullanılır. Bizim robotlarımızdan yerine getirmesini istediğimiz görevlerin çoğu gerçekte biyolojinin yapılabilme kanıtını sağladığı şeylerdir. Buna ek olarak, biyolojiyle ilgili bilimlerden sinirbilimi, hayvan davranışları bilimi, ve psikoloji robotların çalışmasında kullanılabilecek çok çeşitli mekanizmaların ve modellerin açıklamasını yapmıştır.

- Bu Sistemler Yazılım Tasarımı Perspektifi YönündenDolaylı olarak modülerdir. Bu özellik sayesinde tepkin bir robotik sistem tasarımcısı kendi robotunun yeterliliğini tekrar tasarıma gitmeksizin yada eskisini terketmeksizin yeni davranışlar ekleyerek arttırabilir. Bu zaman içinde robota yeteneklerin katılması ve sonuç olarak çıkan tekrar kullanılabilirlik, artan bir şekilde karmaşıklaşan robotik sistemlerin inşaası için çok faydalıdır.

2.1 Basit Tepkin Mimariler

Basit bir tepkin mimaride , Hareketler doğrudan doğruya algılar tarafından tetiklenir.


• Statüye göre önceden belirlenmiş sabit tepki.
• Çevre betimlemesi olmaksızın
• Genellikle o ise özgü hazırlanmış, paralel donanım
• Çevresel değişikliklere karşı hızlı tepki

2.2 Hareket Seçimi

Yapılacak hareketlerin seçimini agent program belirler. Herhangi bir durumda birden fazla potansiyel uygun hareket olduğunda, agent program hangi hareketin seçileceğine agent program kararverir.

Eğer birden fazla algı birden fazla hareketi tetiklerse, hareketler birkaç yolla bir araya getirilebilir.

• Birden fazla hareket paralel olarak gösterilebilir.
• Tekbir hareket olarak bir araya getirilebilir.
• Tekbir hareket diğer hareketler arasında öncelik verilerek uygulanabilir.

2.2.1 Paralel Hareketler

Birbirine karışmayan hareketler paralel olarak aynı anda gösterilebilir, (mimarinin sınırları dahilinde)

2.2.2 Bileşke Hareketler

Farklı algılar tarafından tetiklenmiş ayrı hareketler tek bir bileşke harekette bir araya getirilir.



Buna örnek olarak aynı anda hem bir amaca doğru hareket eden hemde engellerden sakınan bir agent ta , engellerden sakınma hareketi hedefe doğru ilerleme hareketini bir engele rastlandığında onun etrafından dolanma zorunluluğundan dolayı etkiler.

2.2.3 Öncelikli Hareketler

Hareketlerin birbirine engel olduğu durumlarda, en önemli hareket önceliği alır.

Tepkin mimariler bazen ortamın durumunun ve agent in basit betimlemesini kullanabilirler, fakat bu betimlemeler amaçları , dünyanın hipotezsel durumunu yada muhtemel hareketlerin sırasını açık bir şekilde kodlamaz. Örneğin 'engellerden kaçın' davranışı olan bir agent için bu amaç agentın içinde açık olarak betimlenmediysede engellerden kaçınma amacı var diyebiliriz

Tepkin sistemler genellikle o iş için hazırlanmış, paralel donanımlar kullanılarak hayata geçirilir. Bir algının veya algıların uygun hareketi tetiklemesi için gerekli işlemin miktarının sınırlı olması, o iş için hazırlanmış paralel donanımların kullanılması ve karmaşık betimlemelerin kullanımına gerek olmaması tepkin sistemlerin çevresel değişimlere hızlı cevap vermelerini sağlar.

Hafıza kullanımı açısından bir düşünen mimari, tepkin bir mimariden daha verimli yer kullanımına sahiptir. Bunun nedenide düşünen mimarili bir sistem bir sınıfa ait problemlerin çözümü için sabit bir yer kullanırken, tepkin mimarili bir sistem problem sayısının çokluğuyla orantılı olarak yer kullanır.



Şekil 1: Braitenberg Aracı 2a

Bunu tüm tepkin çözümlerin kodlanması ve geliştirilmesi için harcanacak zamana rahmen, standart zaman ile yer miktarı arasında birini diğerine tercih olarak düşünebiliriz. Örneğin, bir ingilizce cümlenin anlanması konusunda bir tepkin sistem için mümkün olabilecek her girdi cümlenin anlamının kodlanması gerekirken, düşünen bir sistemde sadece bir gramere ve gramer inceleyicisine ihtiyaç vardır. Burda tepkin mimarili sistemde problem olan çok fazla sayıda cümlenin ve buna karşılık gelen anlamın teker teker kodlanmasıdır.

2.3 Örnek: Braitenberg Araçları

Braitenberg Araçları motorlara doğrudan etki eden algılayıcalar kullanırlar.

• Algılayıcılar sıcaklık, ısı, engeller gibi çevresel özelliklere tepki gösterirler.
• Motorlar algılayıcılardan gelen sinyallere göre aracı haraket ettirirler.
• Bağlantılar sinyalleri algılayıcılardan motorlara taşırlar ve böylece ya motorların dönmesini sağlarlar yada dönmesini engellerler.

2.3.1 Braitenberg Araçları Özeti

Braitenberg 'in araçları basit tepkin mimarilerin nasıl karmaşık acil davranışlar sergileyebileceğini gösterir.

• Karmaşıklık, karmaşık bir çevrenin yansımasından olabilir.
• Braitenberg araçlarına hedefler atfedebiliriz fakat hedeflerin içsel bir betimlemesi yoktur.


Şekil 2: Braitenberg Aracı 2b


Şekil 3: Braitenberg Aracı 3c

2.4 Örnek: Boids

Boid, çevreyi yerel algılamasına göre ya da çevrenin fiziksel simulasyonuna göre yada basit davranış kurallarına göre yönünü bulan basit bir agent olarak görülebilir.

Çarpışmalardan sakınma etrafındaki boid lerle çarpışmalardan kaçın.
Hız ayarı çevredeki boidlerle hızını ayarlamaya çalış ve
Sürüde kalmaya çalışma diğer boidlerle yakın mesafede kalmaya çalış

Her boid bir göçme dürtüsüne sahiptir, boid lerin uçacakları kendisine doğru evrensel bir yön ve pozisyon.

2.4.1 Boid in Çevresi

Çevrenin fiziksel simulasyonu, sınırlı miktarda enerjiye sahip basit bir yaratığın modelini uygular.

• Boid in maximum hızını sınırlamak için basit bir yapışkan hız engelleyici kullanılır.
• Boid in basitin basit davranışları tarafından üretilen hızlandırıcı vektörleri bir maximum hızlandırma limiti sınırlandırır.

2.4.2 Boid in hareketleri

Her bir boid için son hareketi vermek üzere basit davranışlar bir araya getirilir.

• Her davranış (çarpışmadan sakınma, hız ayarlaması ve sürüde kalmaya çalışma) 3 boyutlu vektör şeklinde bir ivme oluşturur.
• Maximum ivme eşiğine ulaşıncaya kadar vektörler üst üste toplanarak bir araya getirilir.
• Her boid in verilen bir boid in davranışının üzerindeki etkisi mesafenin karesiyle ters orantılıdır.

Boid ler önlerindeki statik engellerden dümen kullanarak sıyrılırlar.

2.4.3 Boid lerin Özeti

Boidler basit tepkin mimarilerin nasıl karmaşık davranışlar üretebileceğini gösterir.

• Sezgisel olarak sürü olarak düşündüğümüz toplu hareketler, sınırlı ve yerel olarak dünyayı algılamaktan kaynaklanır.
• Sürü elemanının izole edilmiş davranışları sabit ve verimsiz duruma ulaşma eğilimindedir. Çevresel engeller ve sürü elemanının bunlar arasında yönünü bulmaya çalışması sürü elemanının davranışlarını daha karmaşık hale getirmesini sağlar.

Şekil 4: Tepkin Hareketlerin Modellenmesi


Şekil 5: Statü kullanan Tepkin Mimariler 

3. Tepkin Hareketlerin Modellenmesi

Tepkin hareketleri koşul ve davranış kuralları olarak modelleyebiliriz.

• Eğer koşul agent in algılarına uyarsa , bir hareketi tetikler.
• Kural daha önceden kullanılsada kullanılmasada basit bir tepkin agent dünyanın statüsüyle ilgili içsel bir betimleme bulundurmaz

3.1 Statü kullanan Tepkin Mimariler

Statü kullanan tepkin bir mimaride, kurallar sadece agent in algılayıcılarına bağlı olarak değil çevrenin içsel bir betimlemesine de bağlı olarak belirlenir.

3.2 Değişimlerin Tespiti

Çevresel değişimleri tespit etmek ve betimlemek için , agent in iç statüsüne de bağlı olan ve davranış olarak iç statüyüde aynı zamanda değiştiren kurallara ihtiyacımız var.

4. İçsel Betimlemeler

İçsel betimlemeler:

• Daha fazla yer gerektirir.
• Betimlemeyi yapabilmek için de bir bedel ödenir.
• Statülerin sırasına bağlı olarak davranış seçeneklerine imkan verir. Örneğin değişimsizliğe tepki olarak bir harekette bulunmak.




Şekil 6: Değişimlerin Tespiti

İçsel betimlemeler verildiğinde çok daha karmaşık dışsal davranışlar mümkün olabilir.

4.1. Statülerin Avantajları

Bir çeşit çevrenin içsel betimlenmesinin yada agent in içsel statüsü eklenmesinin anlamı :

• Agent in dünya hakkındaki bilgisi artık sadece algılayıcılarının limiti ile sınırlı değildir. Su an algılayamadığı çevrenin bazı kesimlerinide hatırlayabilmektedir.
• Agent sayabilmektedir. Artık belli sayıda tekrarlanarak yapılabilen davranışları uygulayabilmektedir.
• Yavaş yavaş sonucu başarısız olan davranışlarına engel olabilmektedir. Çünkü neyi kaç kere yaptığını ve sonucunda başarılı olup olamadığını görebilmektedir.

4.2. Davranışların Bileşkesini Alırken Karşılaşılan Problemler

Davranışların bileşkesini alma yalklaşımına dayalı davranış seçimi bazı iyi bilinen problemlerle karşılaşmaya meyillidir:

Bölgesel minimum Braitenberg araçları bir kutunun köşesine sıkışabilir ve çevresine dönemeyebilir.
Dairesel davranış Braitenberg araçları bir engelin etrafında dönüp durabilirler.

Bu problemleri çözmenin bir yolu agent in davranışlarına rastgelelik ve gürültü eklenmesidir.




Şekil 7: Davranış Modülü

4.2.1. Örnek: 'Geçmişten Kaçın' Davranışı

Geçmişten Kaçın davranışı agent m kısa geçmişte nerde olduğunun betimlemesini kullanır.

• Geçmişte ziyaret edilen yerlerden itici kuvvetler üretilir.
• Geçmişten kaçış davranışının çıktısı diğer davranışların çıktısı olarak üretilen vektörle aynı biçimde bir vektördür ve diğerleri gibi aynı biçimde bir araya getirilir.

4.2.2 Örnek: Kapsama Mimarisi

Kapsama mimarisi çeşitli davranış topluluklarından oluşur :

• AFSM (Sınırlı statüdesü olan makine) içinde derlenen davranış dilindeki çeşitli kurallar kümesi olarak belirlenmiştir.
• Her sınırlı statülü makine bir davranışta bulunur ve dünyayı kendi algılayışından sorumludur.
• Her davranışın çıktısı diğer bir davranışın girdisi olabilir.

4.3 Kapsama Mimarisi Tabakaları

Davranışlar tabakalar şeklinde organize olurlar. Ve herbir tabakanın bağımsız olarak gerçekleştirmekten sorumlu olduğu bir hedefi vardır.

• Karmaşık davranışlar hiyararşide daha aşağıda olan daha basit davranışları kapsar.
• Aşağı tabakaların yukarı tabakalar hakkında bilgisi yoktur.
• Alt tabakaların çıktısı üst tabakalar tarafından okunabilir.
• Üst tabakalar alt tabakaları kontrol eder ve şunları kullanır :




Şekil 8: Davranış Modülü

— Dizginleyiş: iletiye engel olur
— Gizleyiş: Bir mesajı gizleyici bir mesajla değiştirir.
— Yeniden Başlatış: Davranışı orjinal statüsüne geri döndürür.

Tabakalar aynı anda ve aralarında zamanlama ilişkisi olmadan çalışır.

4.3.1 Kapsama Örneği: Araştırma l

Araştırma görevi bir robotun evden ayrılışı ve ilginç nesneleri aramasından oluşur.

• Bir nesne tespit ettiğinde , robot ona doğru gider, onu alır ve eve döner.
• Bu davranış sıraları ortamda hiç nesne kalmayana kadar devam eder.

4.3.2 Kapsama Örneği: Araştırma 2

Mataric 4 çeşit davranış kullanan basit bir araştırma robotunu uygulamaya geçirdi.

• Dolaşma: rastgele yönlerde bir süre hareket etme.
• Kaçınma:
  — Eğer engel [solda — sağda ] ise [sağa — sola] dön ve git.
  — Üç denemede başarısız olursa eski haline gel ve dön.
  — Eğer her iki taraftada engel varsa rastgele dön ve eski haline gel.
• Alış: nesneye doğru dön ve ilerle. Nesneye varınca nesneyi al.
• Dönüş: Eve doğru dön ve ilerle. Evde isen dur.

4.3.3 Kapsama Örneği: Araştırma 3

4.4 Statülü tepkin mimarinin avantajları

• Statülü bir tepkin mimari her türlü davranışı üretebilir.
• Çevresel değişimlere çabuk cevap verir

4.5 Statülü tepkin mimarinin dezavantajları

• Statünün ve birden çok bileşenin eklenmesi durumunda bile , tepkin mimariler karmaşık betimlemeler yapamaz ve bir probleme alternatif çözümler üretemez.
• Her probleme karşılık gelen çözüm önceden ya sistem tasarlayıcısı tarafından yada evrim tarafından kodlanmış olmalı.

Anketler

Sitemiz...
 

Kimler Sitede

Şu anda 1 konuk çevrimiçi