Merhaba,
Sitemize giriş yapmak yada üye olmak için tıklayın.
 
KOUBM sitesi
1194803 kez
ziyaret edilmiştir.

admin@koubm.org

Makale
Kategori :
Yazılım Mühendisliği
Tarih :
16/07/2005
Gönderen :
AYDIN TABUR
Okunma Sayısı :
4314
Uzman Sistemler ve Yapay Zeka


UZMAN SİSTEMLER


Son yıllarda yapay zeka teknikleri (bulanık mantık, yapay sinir ağları, genetik algoritma, uzman sistemler) birçok disiplinde uygulama alanı bulmuştur. Yapay zeka teknikleri, özellikle çözümü lineer olmayan ve matematiksel modellenmesi güç olan yada modellenemeyen problemlerde çok etkilidir. Bu tekniklerden bulanık mantık belirsizliklerin modellenmesi tabanlı çalışmakta, yapay sinir ağları ise problem çözümünde biyolojik nöron modeli esas alınarak oluşturulan yapay nöron modeli üzerine geliştirilen algoritmaları kullanmaktadır. Genetik algoritma, stokastik bir tarama algoritmasıdır. Uzman sistemler ise bilgi ve tecrübeleri model alan bir yöntem olarak bilinmektedir. Bir uzman sistemin performansı, bilgi tabanının etkililiği ile doğru orantılıdır.



Problemlerin uzmanlara danışarak ve somutlaştırılarak çözüldüğü bilgisayar uygulamalarına Uzman Sistemler denir. Örneğin ,uzman sistemler insanlar ve makinelerin hata tanıma ve yakalama yaptığı uygulamalar da kullanılabilir. Bunlar satranç,finansal planlama kararlarında,bilgisayar konfigurelerinde,gerçek zamanlı sistemlerde ve insanların uzmanlığını gerektiren diğer birçok alanda performans sağlayabilir.


Problemlerin uzmanlara danışarak ve somutlaştırılarak çözüldüğü bilgisayar uygulamalarına Uzman Sistemler denir. Örneğin ,uzman sistemler insanlar ve makinelerin hata tanıma ve yakalama yaptığı uygulamalar da kullanılabilir. Bunlar satranç,finansal planlama kararlarında,bilgisayar konfigurelerinde,gerçek zamanlı sistemlerde ve insanların uzmanlığını gerektiren diğer birçok alanda performans sağlayabilir.


Uzman sistemler ana sistem bileşenlerinin numarasına ve değişken kurallı tekil arayüzlere sahiptirler.



Ana elemanlar şöyle sıralanabilir.





  • Bilgi Tabanı -Uzmanların konu hakkındaki tecrübe ve bilgi birikimleri IF THEN kuralları içerirler


  • İş ile ilgili birikmiş veriler -Problemin çözümünde kullanılan specific veriler.


  • Makine sonuçları-Temel bilgilerin ve problem çözümünde kullanılan ve iş ile ilgili birikmiş verilerlerin ışığında türeyen bilgilerin sisteme (bilgisayara) kodlanması ve sonuçların gözlenmesi


  • Kullanıcı Ara yüzü -Kullanıcı ve sistem arasındaki dialoğun kontrol edildiği elaman.


Uzman sistemlerin dizaynını gerçekleştirebilmek için ,Uzman sistemlerin sistemle birlikte interaktif şekilde çalışan temel ve özel kuralların gerekli olduğunu söylemeliyiz. Bu kurallar şöyle sıralabilir.






  • Uzmanlık Alanı -Problemi çözmek için uzmanların problemle ilgili güncel çözüm tekniklerinin alındığı kişi veya kişilerdir.


  • Bilgi Mühendisliği- Uzman sistemlerin ve Uzman bilgilerinin sistemde bildirimlerinin interaktif şekilde kullanılmasını gerçekleştien ve kodlama işlemlerini gerçekleştiren kişilerdir.


  • Kullanıcı-


Birçok uzman sistem diğer uzman sistemlerin iskeletleri kullanılarak ve bu sistemlerin ürünleri kullanılarak oluşturulmuştur. Sözü edilen uzman sistem iskeleti kullanıcı arayüzünü içeren ,bilgi tabanından bilgileri ve bu bilgilerin bildirimlerini alan , düzenleyen ve sistem sonuçlarını içeren bir yazılımdır. Bilgi Mühendisliği bu iskeletleri kullanarak problemleri çözebilen sistemler oluşturan bir bilimdir.



Uzman sistemler özel uygulamalarla geliştirilen iskeletlerden oluşturulur.Sistem Mühendisliği -kullanıcı arayüzlerini oluşturan ,bilgi tabanı ile işlemleri gerçekleştiren ve makine sonuçlarını yerine getiren ve bu sonuçlardan sorumlu kişilerdir.


Proje boyutlarına bağlı olarak,Bilgi mühendisleri ve sistem mühendisleri aynı işi yapan kişiler olarak algılanabilir. Sistem oluşturma tekniklerine göre,en az bir bilgi tabanı olmalı ve bu bilgi tabanında düzenleme yapılabilmelidir.Uzman sistem oluşturmanın temellerinden biride bilgi mühendisliği işlemleri dir.Uzman kişilerden alınan bilgilerin koda dökülerek sisteme verilmese zor ve sıkıcı bir iş olabilir.


Uzman Sistemlerin Özellikleri





  • Çözülecek problem ile ilgili (hüküm, açıklama, kural gibi) bilgilerin depolandığı "bilgi tabanı ünitesi"


  • Bilgi tabanında depolanan bilgileri, bir sonuç elde etmek için mantıklı bir sıra ile icra eden "çıkarım mekanizması" ünitesi.


  • Kullanıcının uzman sistem ile kolayca bilgi alışverişinde bulunmasına imkan veren "kullanıcı ilişki ünitesi".


  • Bilgi tabanını otomatik olarak geliştirmeye yardım eden "bilgi edinme ünitesi".


Bir uzman sistemin en önemli çekirdek üniteleri bilgi tabanı ve çıkarım mekanizmasıdır. Her uzman sistemde "kullanıcı ilişki" ünitesinin basit yada gelişmiş bir biçimde bulunmasına karşın, bilgi edinme ünitesinin her zaman bulunması gerekmemektedir. Bilgi tabanı ile çıkarım mekanizmasının ayrı ayrı olmasının nedeni, bir uzman sistemde, çözülmesi düşünülen bir problem ile bilgileri problem çözme stratejisinden genellikle ayrılmasıdır. Bu ayrı yapının iki büyük faydasından birisi, bir uzman sistemden bir başka uzman sistem elde etmek istendiğinde sadece bilgi tabanındaki eski bilgilerin, yeni probleme ait bilgilerle yer değiştirmesinin büyük ölçüde yeterli olması; diğer bir deyişle ilk çıkarım mekanizmasının aynen kullanılabilmesidir. Diğer bir fayda ise, bilgi tabanındaki bilgilerin çözüm arama, açıklama yapma bilgi edinme gibi değişik operasyonlar sırasında bir defadan daha fazla kullanılabilmesidir. Dolayısıyla, uzman sistemin bilgi tabanına bilginin nasıl icra edilip nasıl sonuç alınacağı ile ilgili bilgiler verilmeden, sadece çözülecek problem ile ilgili bilgileri vermek yeterli olacaktır


Bilgi Tabanı: Bir uzman sistemin gücünün önemli bir bölümünü bilgi tabanına yerleştirilen bilgi oluşturmaktadır. Ancak bu bilgi klasik veri tabanlarındaki gibi, bilgilerin toplanıp depolanması şeklinde olmayıp, temsil ettiği problemin yapısını yansıtarak, problemi anlamaya da yönelik olarak ifade edilmelidir. Bu problemin yapısı ve problemi anlama özellikleri, geniş ölçüde bilginin ifade edilme şekline bağlıdır. Bilgiyi ifade etmenin birçok yolu bulunmakla birlikte en çok kullanılan ifade teknikleri, kurallar(rules), çerçeveler (frames) ve ifade ağları (semantic nets) dir. Bunlarda kurala dayalı ifade şekli (rule-based represantation) için çerçeveler ve ifade ağları tercih edilmektedir.Bir uzman sistem, bilgi tabanında bulunan bilgileri değişik tekniklerle genişletebilir. Bu teknikler, en genel halde (a) hükümlerin, kuralların, kavram yada ilişkilerin, uzman sisteme tasarımcı tarafından bildirilmesi, (b) uzman sistemin tanıyıp anlayabileceği bilgiler ile ilgili örneklerin sisteme verilmesi (c) uzman sistemin, kendi gözlem ve keşifleriyle kendi kendine öğrenmesi şeklinde sıralanabilir.


Çıkarım mekanizması: Bir uzman sisteme ait en önemli elemanın bilgi tabanı olmasına rağmen, bu bilgi tabanını kullanıp sonuç üretebilecek iyi bir çıkarım mekanizması olmaması durumunda, bilgi tabanının hiçbir işe yaramayacağı açıktır. Bilgi tabanında bulunan bilgilerin ifade ediliş şekline göre, değişik çıkarım mekanizmaları mevcuttur. En çok kullanılan bilgi ifade tarzı olan kural yorumlayıcısı olarak adlandırılıp, bu yorumlayıcıların yapılarında genellikle IF-THEN tipi kurallardan faydalanılır. Bununla beraber, çerçeveye veya ifade edilmiş bilgi tabanını yönlendirmek için daha uygun mekanizmalardır. Çerçeveye veya ifade ağlarına dayalı çıkarım mekanizmaları sadece bir çerçeve alt seviye ve üst seviye arasındaki çok sınırlı bir bölgede arama yapacağından, araştırma ve sonuç alma süresi çok daha kısadır. Bir çıkarım mekanizmasının, bilgi tabanında bulunan bilgileri kullanarak sonuca varabilmesi için "ileriye zincirleme" (forward chaining) ve "geriye zincirleme"(backward chaning) adı verilen iki temel metod geliştirilmiştir. İleriye zincirlemede temel prensip, bilgi tabanında bulunan hüküm ve bilgilerden başlayıp kuralları icra etmek (fired), böylece kuralların ikinci kısmında (veya THEN bölümlerinde bulunan) ifadeden yeni hükümler elde etmektir. Geriye zincirlemede, taramaya hedeften (goal) başlanır ve bu hedefi gerçekleştirmek için gerekli olan hükümler, bilgi tabanındaki hedefle ilgili kurallara ait ikinci tarafların (veya THEN kısımlarının) sağlanması suretiyle elde edilmeye çalışılır. Hedefi sağlamak üzere, kuraldan elde edilen hüküm bilgi tabanında bulunmuyorsa, bu hüküm bir alt hedef olarak kabul edilip sağlanmaya çalışılır. Böylece bilgi tabanında var olan bir ifade elde edilinceye kadar birçok alt hedef (subgoal) zincirleme oluşturulur. Sonra tek tek bütün alt hedefler ve sonunda ana hedef gerçeklenir.


Uzman Sistemlerle ilgili Basit Örnekler




  • IF -THEN kuralları kullanılarak amaca kolay yoldan ulaşabilen tekniklerden sonuç almak


  • Belirsizliklerden örnek almak-Sistem özellikleri doğrultusunda tam olarak bilinmeyen veriler ve kurallardan sonuç çıkarmak


  • Verileri kontrol etmek ve değiştirmek-IF-THEN kurallarını kullanarak başlangıç dataların Çözümünü sağlamak.


  • Veri gösterme (temsil etmek)- Sistem veri tabanını kullanarak problem çözümüne yol göstermek.


  • Kullanıcı Arayüzü-


IF


family is albatross and
color is white


THEN


bird is laysan albatross.


IF


family is albatross and
color is dark


THEN


bird is black footed albatross


Bu kurallara Şu kuralıda eklersek sistem bir kuşu daha rahat tanıyabilir.


IF



order is tubenose and
size large and
wings long narrow


THEN


family is albatross.



Aydın Tabur                                                                                  TEMMUZ-2005

 
   

 
Kocaeli Üniversitesi Bilgisayar Mühendisliği Mezunları Copyright © 2000-2010