Uzman Sistemler : Bilgi Tabanlı Yapay Zeka İle Sorun Çözme Yöntemleri

Giriş

Eğer yüzyılımızın sonlarına doğru bilim ve teknolojide yaşanan devrimin nasıl ve neden yaşandığının tek cümlellik bir cevabı istenseydi "gücün altında bilgi yatar" cümlesi yeterli olacaktır.  En fazla bilgiye sahip olan topluluk aynı zamanda en zengin ve en baskın güç ile aynı anlama gelmektedir.  Uzman sistemler bu gücün en üst düzeyde temsili, kontrolü ve işlenmesi ile ilgilenmektedir.

Uzman sistemlerin diğer bir adıda Bilgi-tabanlı Sistemlerdir. Bilgi temsil yöntemi olmayan Bilgi-tabanlı sistem olamaz.

 Bu nedenler hazırlanan çalışma kapsamında Uzman sistemlerde kullanılan bilgi temsil metodlarına da değinilmiştir.

İlk Yapay Zeka araştırmacıları Genel Problem Çözücülerin her problemin üstesinden gelebilecek sistemler olduklarını benimsemişlerdi.  Fakat bu sistemlerin derinlemesine bilgi gerektiren bazı problemlerin çözümünde yetersiz kaldıkları gözlenince yeni arayışlara girdiler.  Buldukları çözüm; sisteme, hangi özel konu ile ilgileniyorsa sadece o konuya ait derinlemesine bilgiyi vermek olarak buldular.  Farkedilen bu gerçek spesifik Bilginin kısa bir süre içinde Yapay Zeka sistemlerinin vazgeçilmez bir parçası olmasınıda beraberinde getirdi. 

Yapay Zeka sistemlerinin kullanabileceği bilgi 3 hiyerarşik düzeyden oluşmaktadır; Bilgi düzeyi, Sembol düzeyi ve Cihaz düzeyi.  Bu çalışmada ilgilenilen bilgi temsil yöntemleri; birinci düzey temsil yönteminin elemanları olan ve bilgitabanlı sistemlerde kullanılan; Semantik ağlar, Çerçeveler, Kurallar, Mantıksal savlar, O-A-V, Scriptler ve hibritlerdir. 

Genel Problem Çözücülerin kısıtlarının aşılması için yapılan araştırmalar, araştırmacıları Uzman sistemlere götürmüştür.  Uzman sistemler belirli bir uzmanlık alanında, karmaşık karar verme problemlerini çözen, insan uzmanların düşünme işlemlerini, taklit eden bilgisayar programlarıdır.  Bir bakıma insan uzmanların bilgisayar simülasyonlarıdır.  Uzman sistemin bilgisi, kesinlikle insan uzmanlardan, makalelerden, dergilerden alınmalıdır, poztif bilimlere ait bilgiler sözkonusu ise deneylerle tecrübe edilmiş olması gereklidir. 

Uzman sistemler üç ana bölümden oluşmaktadırlar; problemin çözümüne yönelik uzmanlık bilgilerinin çeşitli temsil yöntemleri kullanılarak saklandığı bilgi-tabanı,  problemin çözümü esnasında ulaşılan ara sonuçların ve tam sonuçların saklandığı çalışma belleği ve son bölüm, eldeki verileri bilgi-tabanına uygulayarak yeni bilgiler üretilmesini sağlayan Karar mekanizması.

Uzman sistemleri diğer bilgisayar programlarından ayıran en önemli özelik, Uzman sistemlerin modüler bir yapıda olması, problemin çözümüne ait bilginin kaynak kodlarına değil taşınabilir bilgi-tabanına yerleştirilmesidir.

İlk Uzman sistem örnekleri; DENDRAL (kimya ile ilgili), MYCIN (tıp ile ilgili) ve MACSYMA (matematik ile ilgili) olarak verilebilir.

Karatahta problem çözme modeli, "en uygun zamanda en uygun yerde" fikir yürütme modeli kullanan, bilgi-tabanlı sistemlerin özel bir şeklidir.  Yalnızca "ileri-doğru" veya "geri-doğru" fikir yürüten bilgi tabanlı sistemlerden farklı olarak, fikir yürütme yönü çözümün her aşamasında dinamik olarak seçilmektedir.  Karatahta modeli kavramsal bir olgudur, değişik bir hesaplama yöntemi önerilmemektedir.  Bir problemi  çözmek için Karatahta modeli kullanıldığında, Karatahta problemin çözümüne kılavuzluk yapar ve işe girişilmesi için yeterli ön bilgiyi sağlar. 

Karatahta sistemleri üç ana yapıdan oluşmaktadır; 

1. Bilgilerin birbinden ayrık ve bağımsız olarak kodlandığı, probleme özgü sayıda Bilgi Kaynakları yapısı.  Herbir bilgi kaynağı problemin bir alt kümesinin çözümünden sorumlu uzman olarak düşünülebilir.  Bilgi kaynağı bilgiyi prosedürler, kurallar, veya başka temsil formları şeklinde saklar.

2. Bilgi kaynaklarının ihtiyacı olan bilgiyi ve çözüm aşamalarını içeren global bir veri yapısı olan Karatahta yapısı.  Bilgi kaynakları, Karatahta üzerinde kendilerini sonuca artımsal olarak yaklaştıran değişiklikler yapmaktadırlar.  Bilgi kaynakları arasındaki etkileşim ve iletişim yalnızca karatahta üzerinde olmaktadır. 

3. Control Bilgisi yapısı, problemin yapısına veya isteğe bağlı olarak Karatahta üzerinde yada ayrı bir modül olarak saklanmaktadır.  Kontrol bilgisi problem çözümü esnasında karatahta üzerindeki değişmeleri yönetir ve siklet merkezini belirler.

Karatahta sistemleri 1970’lerde HEARSAY-II (Konuşma anlayabilme) projesinde ilk defa kullanılması ile kendisini ispatlamış ve kısa sürede üzerinde birçok ticari ve askeri uygulama geliştirilmiştir.

Bilgi Temsil Yöntemleri

Bilgi üç hiyerarşik düzeyde temsil edilmektedir (Şekil 1).  En üst ve insana en yakın düzey (Bilgi düzeyi), Kurallardan, çerçevelerden, semantik ağlardan, vb. oluşur.  Sonraki düzey sembol düzeyidir, sınıflandırıcıladan, Genetik algoritmalardan oluşur.  Son düzey Cihaz düzeyidir, bu hiyerarşik düzeyde ise bilgi sinir ağlarıyla, elektronik cihazlardaki voltaj farklarıyla belirtilmektedir.

Bu bölümde ilgilenilen bilgi temsili, Birinci hiyerarşik düzeyde belirtilen, bilgi-tabanlı sistemlerde kullanılan temsil yöntemleri olacaktır.  Bu tip sistemlerin daha etkin çalışabilmesi için problem çözme işlemi esnasında, uzman kaynaklardan toplanan bilgilerin belirsizliğe yol açmayacak şekilde temsil edilmesi bir zorunluluktur.  Bazı problemler çözümleri için kendilerine özgü bilgitabanına ihtiyaç duyuyor olsalarda çeşitli teknikler bir çok problemin çözümünde kullanılabilmektedir.  Bu yöntemlerden en çok kullanılanları aşağıda sunulmuştur.

Image

Şekil 1. Bilgi temsil düzeyleri ve yöntemleri

Semantik Ağlar (Semantic Nets) :

Semantik Ağlar belkide en eski bilgi tabanlı sistemler Bilgi temsil metodlarındandır.  Diğer temsil metodları için temel teşkil etmektedir.  Problemin bilgi alanındaki nesneler ve aralarındaki ilişkileri (üyelik ilişkisi, akrabalık ilişkisi, vb.) göstermek için hazırlanmış bir şemadır.  Bu yapı diğer temsil metodlarının kolayca kendisinden üretilebi
leceği genel bir çalışma çerçevesidir.  Semantik ağlar nesneleri veya gerçekleri belirten düğümler ve nesneler arasındaki bağıntıları gösteren eğrilerden oluşmaktadır(Şekil 2).

Image

Şekil 2. Semantik Ağ temsil yöntemi

Semantik Ağlar çözümü kolaylaştırarak problemin kolaylıkla anlaşılmasını ve problemin alt parçalara bölünerek zorluğunun kırılmasını sağlamaktadır.  Bu yöntemin bazı önemli üstünlükleri;

Yeni düğüm ve eğrilerin eklenmesinde, eskilerin silinmesinde ve düzenlenmesinde esneklik sağlaması,

Bir düğüme ait bağıntının diğerlerine miras bırakılabilme yeteneğinin olması.

Miras hiyerarşisi içinde sonuç çıkarım işleminin kolayca gerçekleştirilebilmesi.

Semantik Ağların en önemli zayıflığı ise formal bir tanımlama yapısının mevcut olmayışıdır.  Fakat mevcut formların (kurallar, çerçeveler, vb.) kolayca Semantik ağlardan üretilebilmesi, bu yöntemi diğer temsil metodları için bir atlama taşı yapmaktadır.

Çerçeveler (Frames) :

Çerçeve olarak adlandırdığımız kavram; belirli bir nesnenin özeliklerini, bir nesne sınıfını, bir hareketi içeren Slot olarak isimlendirilen alt alan topluluklarından oluşmaktadır.  Semantik ağlardan farkı; bu yöntemde nesne ile ilgili bilgilerin slotlara yerleştirilerek nesne ile beraber bilgi tabanında saklanması, Semantik ağlarda ise nesneye ait bilgiler bilgi tabanınan rastgele serpiştirilerek saklanmasıdır. 

Çerçeveler, problem çözümü esnasında nesnelere ait ayrıntılı bilgilerin kullanılması gerektiği zaman veya çözümde doğrudan rol almamakla beraber açıklayıcı bilgi olarak kullanılabilecek bilgi var ise tercih edilmelidir.  Bu tip bir temsil yöntemi, bir uzmanın veri yığını içindeki nesneler hakkındaki bilgileri organize etmesine benzetilmektedir.  Psikologlar arasındaki yaygın kanıya göre insan beyni, kendisinden bir nesneye veya olaya ait bilgi istenirse, o nesne veya olayla ilgili yardımcı bilgileride kullanıma hazır hale getirmektedir.  Çerçeve tabanlı bilgi temsil yöntemide bu özelliği sisteme kazandırmaktadır.  Çünkü Bilgi tabanından bir nesne kullanım için çalışma belleğine alındığında o nesne ile ilgili bilgilerde çerçeve ile beraber çalışma belleğine taşınmaktadır.  Bu yöntemin üstünlükleri;

Çerçevelerin hiyerarşik olarak düzenlenerek, bağıntılarının başka     çerçevelere miras kalmasının sağlanması, 

bilgi tabanında hızlı arama imkanının sağlanması.

Scripts :

Shank tarafından 1984’te önerilen bir bilgi temsil yöntemidir, bu yapı aslında çerçeve temsilinin özel bir formudur. Genelde görüntü işleme konularında kullanılmaktadır.

Kurallar (Rules) :

Kurallar tüm temsil yöntemleri arasında en popüler ve çok yönlü olan yöntemdir.  Kurallar; tavsiyelerin, direktiflerin, stratejilerin temsilinde formal bir yol sağlar.  Kuralların IF-THEN yapısı aşağıda gösterildiği gibi nesne çiftlerini veya özelik çiftlerini birbirine bağlar.

IF premise THEN Conclusion

IF input THEN Output

IF condition THEN Action

IF Data THEN  Outcome

IF Action THEN Goal

Premise, sonucun (conclusion)’ın gerçeklenebilmesi için mutlak surette DOĞRU olması gereken bir gerçektir.  Input, çıktı (output) elde edilmeden önceki veri. Condition, Action’ın icra edilmesi için sağlanması gereken ko¦uldur.  Data, amaç gerçeklenmeden önceki bilgidir.

Kural temsil yönteminin diğer yöntemlere göre üstünlükleri;

Kuralların birbirlerinden bağımsız olarak silinebilmesi, eklenebilmesi esnekliği,

Bilginin (Kural içindeki) kullanımının kolay olması,

Dekleratif ve procedüral bilgilerin kendi aralarındaki etkileşimlerini temsil edebilmesi.

Bu yapının en önemli zayıflığı ise bilgitabanlı sistemin fikir yürütme esnasında uygun kuralın bulunabilmesi için etkin bir arama mekanizmasının gerekmesidir.  Kurallar birinci seviyeli ve yüksek seviyeli (META-level) olmak üzere iki gruba ayrılırlar. Birinci seviyeli kurallar yukarıda örnekleri verilen şekilde olanlardır.  İkinci (meta) seviyeli kurallar ise premise ve Conclusion kısımlarında da kurallar içeren kurallardır. 

Kurallar bir çok sahada oldukça geniş uygulama alanı bulmuşlardır.  Fakat bazı özel durumlarda ki bunlara örnek olarak örüntü tanıma (pattern recognition) ve makine görmesini (machine Vision) verebiliriz, uygulanmaları oldukça güçtür. 

Yüklemler Mantığı :

Önermeler hesabı verilen bir önermenin DOĞRU yada YANLIŞ olduğunun hesaplanması için kullanılan temel bir sistemdir.  Yüklemler hesabı (Predicate Calculus)  ise bağıntıların belirtilmesi ve önermelerin genelleştirilmesini sağlamaktadır.  Mantık ifadeleri Yüklemler hesabı kullanılarak önerme cümlelerinin doğruluğunu ortaya koyarlar.  Fonksiyonların ve diğer analitik özelliklerin yüklemler hesabına eklenmesi ile oluşan hesaba "birinci dereceden Yüklemler hesabı" denir.

Bir çok mantık formu YZ çalışmalarında kullanılmak üzere türetilmektedir.   Önermeler hesabı, yüklemler hesabı, birinci düzey mantık, modal mantık, bulanık (fuzzy) mantık bunlardan bazılarıdır.  Birinci düzey mantık yüklemler mantığının geliştirilmesiyle oluşturulmuş belkide en yaygın olarak kullanılanıdır.  Yüklem sembolü bir elemanı yada o elemanın diğer elemanlarla ilişkisini anlatacak yapıdadır.  Örneğin " Ürün " yüklemi aynı sınıf içindeki üç nesne arasındaki bağıntıyı belirtmektedir;

n ürün (mil, metal, silindir)

Eğer "silindir şeklinde metal mil üretiliyor" ise yukarıdaki mantıksal sav’ın değeri DOĞRU olacaktır.  Benzer olarak a¦ağıdaki mantıksal savda da "Kullanılır" yüklemi metal silindir milin sadece özel bir alanda kullanılanının üretilip üretilmediğini sorgulamak için kullanılabilinir.

n ürün (mil, metal, kullanılır(krank-mili))

"Kullanılır" yükleminde kullanılan "Krank-mili" argümanının alabileceği değer b&uu
ml;yük ihtimaller "Silindirik" olacağından "kullanılır" yüklemi tarafından "silindirik" geğeri üretilir ve "ürün" yükleminde "kullanılır" yüklemini yerini alır yani ilk verilen örneğe dönüşür.

Yüklemler mantığının üstünlükleri;

    Basit notasyonun, kolay tanımlama ve anlaşılabilirliğe izin vermesi, modülerliği sayesinde diğer mantık ifadelerine zarar vermeksizin bir kaçına silme, ekleme işlemlerininyapılabilmesi.

    Kısalık ve özlük

    Teorem ispatlama tekniklerinin eski gerçeklerden yenilerinin üretilebilmesi için kullanılabilmesi.

    Yüklemler mantığı kısa ve özlü temsil yeteneği sayesinde fizik, kimya, matematik veya teorik alanda toplanan bilgiler için uygun bir temsil yöntemidir.  Bu yöntemin zayıflıkları ise,

    İşlemsel ve sezgisel (Heuristic) bilgilerin temsil güçlüğü,

    Geniş bilgi tabanlarının sınırlı organizasyon yapısı nedeniyle yönetiminde güçlük çıkması,

    Sınırlı veri işleme procedürünün olması.

Nesne-Nitelik-Değer üçlemesi (O-A-V Triplets) :

Diğer temsil metodlarının çalışma çerçevesinde yaygın olarak kullanılan semantik ağların yaygın bir tipidir.  N-N-D temsil yöntemi ilgilenilen nesne ve niceliğin bir listesini sunar.  Nesneler fiziksel veya kavramsal varlıklar olabilmektedir.  Nesneye ait nitelikler,  değerlerin spesifik olarak tanımladığı nesneye ait özelliklerdir.

Nesne

Nitelik

Değer

Kitap

Uzman Sistemler

1.000.000

N-N-D temsili diğer yöntemlerin çalışma pencereleri içinde kullanılır.  Örnek olarak semantik ağlardaki her nesnenin bir niteliği vardır ve bir değer de bu nitelik ile birleşmektedir.

Hibritler :

Her temsil yönteminin üstünlükleri olmasına rağmen zayıflıklarıda vardır.  Örnek olarak kurallar prosedüral bilgilerin temsili için, semantik ağlar nesneler arasındaki bağıntıları göstermek için, çerçeve tabanlı semantik ağlar geniş bilgi yığını içindeki nesnelerin özelliklerini ve aralarındaki bağıntıları göstermek için  uygundurlar.  Yüklemler mantığı farklı tipteki nesnelerin açıkça ifade edilmesine vasıta olur. 

Önceleri bilgitabanlı sistemler için yalnızca bir temsil yöntemi kullanılıyor olmasına rağmen, sonraları problemin yapısına uygun temsil yöntemleri birleştirilmeye başlandı. 

Örnek olarak, nesnenin niteliklerini keşfetmek üzere tanımlanan prosedürler için kurallar, kurallardan kaynaklanan nesneler arasındaki bağıntıları göstermek için Semantik Ağlar ve nesnelerin tipik nitelikleri içinde çerçeveler kullanılabilir.

Uzman Sistemlerin Yapısı

Uzman Sistemler (US) belirli bir uzmanlık alanında, karmaşık "karar verme" problemlerini çözen, insan uzmanların "Düşünme işlemlerini" taklit eden bilgisayar programlarıdır.  Bu yüzden US insan uzmanların bilgisayar simülasyonu olarak görülebilir.  Bu bölümde bu tip bilgisayar programlarının, konvansiyonel programlama teknikleri ile pogramlanmış sistemlerden farklılıkları dile getirilecektir. 

US kendisine yöneltilen soruları cevaplayan, ürettiği bilgiyi arındırmak için sorular soran, yorumlar yapan bir sistemdir. Çeşitli editörlerce yapılan değişik US tanımları vardır, US’lerin görev ve fonksiyonlarını açıklayan en iyi tanım aşağıda verilmiştir;

"US, hem gerçekleri hem de sezgileri kullanarak zor "karar verme" problemlerini bir uzmanın sahip olabileceği bilgilere dayanarak çözen içetkileşimli, bilgisayar-tabanlı "karar üretme" paketidir", (BADIRU 1992).

US’in bilgisi uzman kaynaklardan toplanır ve sistemin "karar verme", "fikir yürütme" adımlarında kolayca kullanabileceği formatta bilgitabanına kaydedilir.  Uzmanlık bilgileri kesinlikle insan uzmanlardan veya tekstler, gazeteler, makaleler, veri tabanları gibi kaynaklardan alınmalıdır.  Bu tip bilgiler eğer Tıp, jeoloji, sistem konfigürasyonu, mühendislik tasarımları gibi konulardan ise çoğunlukla üzerinde deneyler yapılmış ve tecrübe kazanılmış olması gereklidir. 

US’ler sadece bir alanda derinlemesine bilgi sahibidirler (Domain Specificity).  Örnek olarak bilgisayar arızalarını teşhis için geliştirilmiş bir uzman sistem gerekli tüm veri işlemlerini aynı alandaki insan uzmanın yapabildiği gibi yapar, fakat uzmanlık alanının dışında basit bir soru olan "Suyun kimyasal formülü nedir ?" gibi orta okul düzeyi soruyu cevapsız bırakır. Etkinlik için US tasarımcıları, sistemin hedef problemleri çözmek için ihtiyacı ne ise yalnızca onu vermek zorundadırlar. 

US için en uygun adaylar, çözümü için uzmanlık gerektiren bilgilere ve sezgilere ihtiyaç duyulan uygulamalardır.  Başarılı US’ler gerçekleri ve sezgisel bilgileri birleştiren ve böylece insanın tecrübesini bilgisayarın gücü ile bütünleyerek problem çözen sistemlerdir.  Deterministik veya hesaplama gerektiren doğadaki problemler US tasarımı için iyi aday değildirler.  İstekleri kesin ve yoğun hesaplama gerektiren problemler konvansiyonel programlama yöntemleri ile daha kolay gerçeklenmektedirler. 

US’ler genelde kodlama kolaylığı nedeniyle LISP, PROLOG gibi YZ dilleri ile yazılırlar.  US’ler tarafından ihtiyaç duyulan programlama dillerini diğerlerinden ayıran karakteristikler;

Bilgiyi Kurallar, Çerçeveler, mantıksal savlar olarak temsil etme kolaylığı,

Dahili kontrol mekanizması ve fikir yürütme stratejisi (İleri-doğru, Geri-doğru) içermesi ,

Artımsal Derleme (Yorumlayıcı özeliği)

Karmaşık "karar-verme" işlemleri, gerçek verilere ve sezgilere dayalı bilgile-rin grift kombinasyonudur. Bilginin bilgisayar tarafından kolayca işlenebilmesi ve sezgisel bilgilerin erozyona uğratılmadan etkin şekilde kullanılabilmesi için Bilgi, veri ve kontrol yapılarından ayrık ve kolayca ulaşılabilecek bir şekilde düzenlenmiştir
.  Bu organizasyon sonucu üç ana bölüm US içinde kendini göstermektedir;

(1) Bilgi tabanı (Knowledge-Base) : Problemin çözümüne yönelik uzmanlık        bilgilerinin çeşitli temsil yöntemleri kullanılarak saklandığı bölüm.

(2) Çalışma Belleği (Working Memory) : İlgilenilen problemin çözümüne ait veriler ve çözme sırasında ulaşılan ara sonuçların tümünü içeren bölüm.

(3) Karar Mekanizması (Inference Engine) : Aksiyomatik bilgileri bilgi tabanın daki bilgilerle birleştirerek ara çözümlere ve tam sonuçlara ulaşan genel bir kontrol mekanizmasıdır.

Bu üç modül standartır.  Farklı programlar için tasarlanmış olsalar bile, bir arada uyum içinde çalışabilirler (şekil 3 ).

Modülerlik US’leri konvansiyonel programlardan ayıran en önemli özeliktir.  Modülerliği sağlayan en önemli birimde programdan bağımsız tasarlanan bilgi tabanıdır.  Bilgi tabanları, insan uzmanların sahip olabileceği bilgileri kurallara, stratejilere çeviren bilgi mühendisleri tarafından tasarlanır.

Image

Şekil 3. Uzman Sistemin bileşenleri

Bu kurallar ve stratejiler ilgilenilen problemin ortamına göre değişir.  İyi bir US ‘den, kullanıcının geribesleme desteği ile öğrenerek büyümesi beklenir.  Geribesleme bilgisi Bilgi-tabanı ile birleştirilerek US’in daha zeki olması sağlanmaktadır.  Bir US uygulamasının dinamizmi ayrı ayrı bileşenlerinin dinamizmine bağlıdır.

En Dinamik : Çalışma Belleği, ilgilenilen her özel problemle ilgili olarak içeriği değişmektedir, sadece çözüme hizmet eden bilgiler bu bölümde barındırılmaktadır.

Orta Dinamik : Bilgi-tabanı, problem çözme prosedürlerinde değişime neden olacak bir informasyon ortaya çıkmadıkça değişmez.  Bu bölümde değişiklik yapılmadan önce dikkatli olarak değerlendirilmelidir, tek konsültasyona güvenilmemelidir.  Örneğin bir problemin çözümü için ilgisiz bulunan bir Kural başka bir problemin çözümü için hayati önem taşıyabilir. 

Az Dinamik Karar Mekanizması, Karar Mekanizmalarının müsamahasız kontrol ve kodlama yapıları gereği değişmeler muhakkak gerekli ise örneğin bir bug düzeltmek için veya sonuç çıkarım proseslerini daha da iyileştirmek için yapılır. 

US’lerin tasarım ihtiyacı insan uzmanların limitleri nedeniyle belirmiştir.  Bu limitler,

    (1) İnsan uzmanın az bulunması,

    (2) Fiziksel ve zihinsel olarak çok çalışmaktan yorulması,

    (3) Çözüm için gerekli kritik bilgiyi yanlış hatırlayabilmesi veya unutabilmesi,

    (4) Günden güne verdikleri kararlarda tutarsızlık olabilmesi,

    (5) Büyük bilgi yığınlarını çabucak anlayabilme kabiliyetine sahip olmaması,

    (6) ve hastalanmaları veya ölmeleri.

Bu limitleri aşmak için neden US’e ihtiyaç duyulduğu, konvansiyonel sistemlerle yetinilmediği sorusuna verilecek cevaplarda aşağıda sıralanmıştır;

    (1) Uzman Sistemler çözüme yönelik işlemleri kontrol ederken veri’den çok bilgi kullanırlar ve bilgilerde algoritmik den çok sezgiseldir.

    (2) Bilgi, kontrol programından ayrı bir varlık olarak kodlanır ve saklanır edilir.  Dolayısıyla kontrol programının mkendisiyle birlikte derlenmez.  Bu da kontrol programını tekrar derlemeye gerek kalmadan bilginin güncellenmesini sağlar.  Ayrıca bazı durumlarda farklı bilgi-tabanları aynı kontrol mekanizması kullanılarak farklı uzman sistemler tasarlanabilir. Bu tip dışarıdan bilgi-tabanı çağıran sistemlere Uzman Sistem Kabuğu (Shell) denir.

    (3) Uzman Sistemler çözüme NASIL ulaştıklarını ve konsültasyon sırasında NEDEN istedikleri informasyona ihtiyaç duyduklarını açıklama yeteneğine sahiptirler.  Bu özelik, kullanıcıya sistemin fikir  yürütme stratejisini anlama fırsatı vermesinden ve dolayısıyla kullanıcının sisteme güveninin artmasından önemlidir.

    (4) US’ler bilginin saklanması için sembolik temsil yöntemleri kullanır (Kurallar, çerçeveler, ağlar, vb.) ve sembolik hesaplamalarla kendi fikir yürütme işlemini doğal dil anlama manipulasyonlarına benzeterek icra eder.

    (5) US’ler problem ortamının değişimine kolayca adapte olabilirler çünkü çözüm için gerekli olan bilgi, kaynak kodların içinde değil taşınabilir altbrimlerde (bilgi-tabanlarında) saklanmaktadır.

    (PATTERSON 1990), (BADIRU 1992).

Uzman Sistemler, önceki paragraflarda anlatılan insan uzmanların ve kon-vansiyonel programlama tekniklerinin limitlerinin üstesinden gelmek için insan uzmanın yetenekleri ile bilgisayarın gücünün birleştirildiği hibrit bir ortam sunmaktadırlar.  Aşağıda uzman sistemlerin çok aşikar faydalarından bazıları sunulmaktadır;

    (1) US’ler iyi karar vermenin olasılığını ve frekansını arttırırlar,

    (2) Gerçek zamanda, düşük maliyetle ve insan uzman seviyesinde görev icra ederler,

    (3) Eldeki verileri en iyi verimle kullanmayı sağlarlar,

    (4) US’ler objektiftirler, herhangibir eğilim altında kalmazlar,

    (5) Modüler yapıları içinde dinamizme izin verirler,

    (6) US’ler düşünme ve zaman açısından özgürdürler oysa insan uzmanlar günün sadece belirli zamanlarında işlerine konsantre olabilirler

    (BADIRU 1992).

Sezgisel Fikir Yürütme (Heuristic Reasoning)

İnsan Uzmanlar Sezgisel Fikir yürütme olarak adlandırılan problem çözme tekniklerini kullanırlar.  Genelde Uzman Sezgisi olarak günlük dile çevirebileceğimiz bu fikir yürütme şekli, uzmanın iyi sonuçlara etkili ve hızlı ulaşmasını sağlar.  US’lerin fikir yürütme prosesleri sembolik işlemlere ve insanın sezgisel düşünce işlemleri ile sıkıca kenetlenmiş sezgisel karar verme prosedürlerine dayanır. 

Arama Kontrol Metodları : Tüm Uzman Sistemler yoğun arama işlemi yaparlar.  Bir çok teknik bu yoğun işin üstesinden gelmek için geliştirilmiştir (Branch and Bound, Pruning, Depth first ve Breadth first). 

İleri-doğru Fikir Yürütme : Bu metodun temel prensibi kuralın koşul
bölümündeki önermelerin doğruluğunun kontrol edilmesidir.  Eğer sonuç "Doğru" ise kuralın Sonuç bölümündeki önermeler de doğrudur.  İleri-doğru fikir yürütme genelde "veri sürümlü karar verme" olarak da adlandırılır. Bu yöntemin Mantıksal karşılığı "Modus Ponens"’tir.

Geri-doğru Fikir Yürütme : Fikir yürütmeya amaçtan başlanarak amaca kılavuzluk eden yollardan geriye doğru iz sürülür.  İleri-doğru fikir yürütmenin tersidir,  tüm çıktılar biliniyorsa ve sayıları fazla değil ise bu yöntem kullanılmalıdır.  Bu metodta amaç sağlanmış (veya öyle kabul edilmiş) olduğundan US amacın gerçekleşmesi için hangi koşulların sağlanması gerektiğini bulmaya çalışır.  Bu yöntem aynı zamanda "Amaç sürümlü karar verme" olarak da adlandırılır.  Mantıksal karşılığı "Modus Tolens" tir.

US tasarlanırken, bilgi-tabanındaki kuralların ve sisteme gerçek zamanda gelen verilerin her zaman olayı tam bir kesinlikle yansıtmadıkları görülür.  İnsan uzmanlar bu tip durumlarda "belki, bazen, sıklıkla" gibi kelimeler kullanarak durumu olasılıkla ifade ederler.  Bu yüzden tasarlanan bilgi tabanının daha güvenilir olması için olasılıksal yaklaşımın bilgi tabanına uygulanması gereklidir, (HU 1989).

Uzman Sistemlerin Uygulama Alanları

Başlangıç dönemindeki diğer US projeleri, mineral tortularının keşfinde jeologlara yardım eden PROSPECTOR ve karmaşık bilgisayarların tasarımında DEC (Digital Equipment Corporation) tarafından kullanılan XCON/R1 isimli Uzman Sistemlerdir.  Bu ilk US’lerin tanıtımı ile birlikte ticari ve askeri alanda yüksek derecede başarılar gösteren bir çok sistem tasarlanmıştır.  Özellile US’lerin maliyet açısından çok uygun olduklarının farkına 1980’lerin başlarında varılmasından sonra birçok uygulama geliştirilmiştir. US’lerin uygulama alanlarından bazı örnekler aşağıda verilmiştir,

Farklı konularda Tıbbi tanılar koyan sistemler (dahiliye, akciğer, bulaşıcı kan hastalıkları vb.)

Karmaşık elektronik ve elektromekanik sistemlerin tamiri ve tasarımı, (TOGAI, WATANABE 1986),

Dizel ve elektrikli hareket eden sistemlerin tamiri,

Yazılım geliştrime projelerinde oluşan aksaklıkları giderme (MACGREGOR, BURSTEIN 1991), (YEN, JUANG, MACGREGOR 1991),

Biyoloji, Kimya ve Moleküler genetikte deney planlama,

Havadurumuna bağlı olarak ürün tahribatının saptanması,

Kimyasal bileşiklerin ve yapılarının saptanması (TERRY 1985), (HAYES-ROTH, BUCHANAN, LICHTARGE, HEWET, ALTMAN, RINGLEY CORNELIUS, DUNCAN, JARDETZKY 1985),

Bilgisayar ve iletişim sistemlerinin tasarımı ve hatalarının bulunması (CERI, TANCA 1990),

Müşteri siparişlerinin ve bir çok üretim prosesinin düzenlenmesi,

Yapı sistemlerinin tasarımı ve deprem hasarlarının analizi (PEGAH, ST_CKLEN, BOND 1993),

Karmaşık bir sistemin en optimal şekilde  tasarlanması,

VLSI (Very Large Scale Integretion) sistemlerin tasarımı,

Çeşitli askeri uygulamalar (tehtit analizi, hedefe silah tevci etme, veri füzyonu vb.),ö (LLINAS, ANTONY 1993), (MILES 1988), (LAKIN, MILES, BYRNE 1988),

Uzayla ilgili bir çok uygulama (planlama ve inceleme),

Hukuğun bir çok alanında,

Öğrencilerin ders tekrarının planlanmsı,

Öğrencilere (İş hayatında) uzmanlık gerektiren görevlerin öğretilmesi.

Finansal analizler (FREEDMAN 1991),

Planlama ve İdari organizasyonlar (LEINWEBER 1988), (BANK, LIZZA 1991)

Gemi tasarımı (CHAU, BENJAMIN 1992),

Mühendislik (BRADSHAW, YOUNG 1991).

Çeşitli kontrol sistemleri (Demir yolları sinyalizasyonu ve hemzemin geçit kontrolü gibi) (FRINGUELLI, LAMMA, MELLO, SANTOCCHIA 1992).      

US’lerin önümüzdeki yıllarda da gelişmelerini devam ettirecekleri beklenmektedir.  Bu gelişme süreci içinde yine bir çok heyecan verici uygulamalar da ortaya çıkmaya devam edecektir.

Karatahta Modeli

Karatahta (KT) konusu ile ilgili araştırma yapılmaya başlandığında, farklı araştırmacıların çeşitli teknik terimlere farklı anlamlar yükledikleri görülür.  Bu durum anlam kargaşasına yol açmaktadır, fakat oldukça genç ve hızlı gelişen bu tip araştırma alanlarında böyle şeylerin olması bir bakıma kaçınılmazdır.  Bu yüzden karatahta modeli, karatahta sistemi, karatahta çatısı, karatahta kabuğu kavramları kolayca karıştırılır.  Bu terimler arasında anlam birliği olmamasından dolayı bu çalışmada, yukarıda bahsedilen teknik terimler için aşağıdaki tanımlamalar kabul edilmiştir.

Karatahta Modeli  : Problemin çözümü için gerekli olan uzmanlık bilgilerine ve problem çözme davranışlarının tümüne emreden tavsiyeler de bulunan şemalar, düzenlemeler ve planlar bütünüdür.

Karatahta Çatısı  : Hem Karatahta modelinin bileşenlerinin belirlendiği hemde uygulandığı ortamdır. 

Karatahta Uygulaması : Ses tanıma, görev planlama, ortam yorumlama gibi problemleri KT modeli ile çözen sistemlerdir.  İlk uygulamalar LISP gibi programlama dillerinde geliştirilmişlerdir, fakat şimdi KT uygulamaları KTçatılarında geliştirilmektedir.

Karatahta Mimarisi : KT sistemlerinin tamamının veya bir kısmının tasarımını ifade eden genel bir terimdir.

Karatahta Kabuğu : Karatahta çatısı ile eş anlamlıdır.

Karatahta Sistemi : KT yaklaşımı ile ilgili her şeyi içeren genel bir terimdir.

(R. S. ENGELMORE, T. MORGAN 1988)   

Problem çözme modelleri, probleme çözüm bulabilmek için yapılan, organizasyonların, fikir yürütmelerin ve ihtisas bilgilerinin düzenli bir şemasıdır. Örneğin "geriye-doğru" fikir yürütme modeli; akıl yürütmeye, amaçlanan sonuçtan başlanıp geriye doğru gidilerek başlangıç verisine ulaşılacak şekilde tasarlanmıştır.  Daha özel olarak, kural-tabanlı sistemler için tasarlanmış geriye doğru fikir yürütme modelinde, bilgi "If-Then" kuralları şeklinde organize edilmiştir ve Modus-Tolens karar adımları kurallara, "amaç kuralı"’ndan geriye doğru "başlangıç-kuralı" yönünde uygulanır. Bu klasik bir problem çözme modelidir.

Bu tip problem &ccedil
;özme yaklaşımlarını gerçekleyen sistemlere bölüm 4’te örnekler verilmiştir (DENDRAL, MYCIN, XCON, MACSYMA, vb). 

Karatahta modeli, bir problem çözme organizasyonu içindeki bilgi yapılarının tümüne, gerçek zamanda organizasyona akan verilere ve problem çözme davranışlarının hepsine (ileri-geri doğru fikir yürütme, en uygun zamanlı vb.) emreden, tavsiyelerde bulunan oldukça karmaşık bir problem çözme modelidir.  Bu modelin en belirgin özeliklerini alışılagelmiş hesaplama modelleri ile kıyaslayarak görebiliriz.  Alışılagelmiş hesaplama modelleri olarak klasik veri tabanı modelini ele alabiliriz.  Veri tabanı programı, bir işlemler kümesi (kayıt okuma-yazma, listeleme vb.) ve bu işlemlerin sırasını düzenleyen bir kontrol mekanizmasından oluşmaktadır.  Problemi çözmek için kullanılacak bilgi prosedürler ve kontrol mekanizması içinde tamamıyla kaynak kodunun içine gömülmüştür.  Bu alanda hazırlanmış programların büyük çoğunluğu bu tip standart modele sahip algoritmik metodları koşturmaktadır. 

KT modelini karakterize ederken faydalanabileceğimiz birdiğer ve en önemli örnek Uzman Sistemlerdir.  Bölüm 4’te de anlatıldığı üzere bu modelin alışılagelmiş problem çözme modellerinden en önemli farklılığı problem çözümünde kullanılacak bilginin, programın kaynak kodlarına gömülmeyip programdan ayrı olarak organize edilmiş olmasıdır.  Fakat bu güçlü özelliğine rağmen iki zayıflığıda bünyesinde barındırmaktadır;

Bilgi tabanı yapısı içindeki kontrol bilgisinin kesin olması ve

Bilgitemsili yapısının seçilen karar mekanizmasının yapısına bağlı olması (mesela ileri-geri doğru fikir yürütmenin sadece kural tabanlı sistemlerde kullanılabilmesi gibi).

KT modelini, klasik uzman sistem yaklaşımının kalıtımsal olarak bünyesinde barındırdığı zayıflıkları elemeye, ortadan  kaldırmaya çalışan doğal bir Evrim olarak algılayabiliriz.  KT modeli kurulurken önceden toplanmış olan ihtisas bilgisi ayrı modüllere ayrılarak işe başlanılır (her modül bilgiyle ilgili tüm alt parçalarıda içermektedir). Herbir modül için ayrı bir karar mekanizması tahsis edilir.  Bu yapıldıktan sonra artık bilginin birbirinden ayrık parçalarını tek bir temsil yapısı ile temsil etme zorunluluğu ve dolayısıyla da karar mekanizmaları üzerindeki sınırlamada ortadan kalkmış olur.  Şimdi çalışma belleğine okuma-yazma işlemleri yapabilen ve birbirlerinin anlayabileceği bir formatta çalışma belleğine bilgiler bırakarak haberleşen modüller ortaya çıkmıştır (doğal olarak seçilmiştir).  Çalışma belleği farklı veri yapıları için alt bölümlere bölündüğünde yapı bir aşama daha fazla kuvvetlenmiş olur. Zayıflıkları elemeye çalışırken gelmiş olduğumuz bu nokta, KT modelinin en temel yapısından başka bir şey değildir (Bkz şek 4).

Image

Şekil 4. En temel hali ile KT modeli

Partisyonlara ayrılarak yeni bir yapı kazandırılmış çalı¦ma belleği Karatahta olarak,karar mekanizması ve bilgi tabanı çiftide Bilgi Kaynağı (BK) olarak adlandırılır. 

Bilgi Kaynakları; problem çözmek için gereksinim duyulan bilgileri birbirlerinden ayrık olarak muhafaza ederler.  Problem çözme aşamasında üretilen dinamik veriler genel bir veri tabanında yani KT’da toplanır.  Bilgi kaynakları ürettikleri problemin çözümüne yol gösteren bilgi değişikliklerini KT’ya gönderirler.  Bilgi kaynakları arasındaki haberleşme ve etkileşim yalnızca KT üzerinden gerçekleşebilir. 

Henüz KT modelinin kontrol bileşenini belirlemedik. Şimdiye kadar oluşturulan model problem çözme üzerine genel kavramları karakterize etmektedir.  Kontrol Mekanizması Bilgi Kaynaklarının içinde, KT’nın içinde, ayrı bir modül olarak dışarıda yada bu üçünün uygun bir kombinasyonu olarak KT modelinde yer alabilir. 

KT problem çözme modeli aslında oldukça yüksek düzeyde yapılanmış "en uygun zamanda ve yerde" (opportunistic) problem çözme yakla¦ımının özel bir durumudur.  KT modeli Uzmanlık bilgilerinin organizasyonuna, sisteme yapılacak tüm girdilere ve gereksinim duyulan ara sonuçlara kısmi çözümlere emretmektedir. Problemin olası kısmi çözümlerinin oluşturduğu kümeye "çözüm uzayı" (Solution Space) denilmektedir. Modelde çözüm uzayı, bir veya daha fazla uygulamabağımlı hiyerarşik düzeye ayrılmaktadır.  Herbir düzey problemin kısmi bir çözümü olan bilgi parçacıklarını içermektedir.  Uzmanlık bilgisi bir düzeydeki bilginin başka düzeylerdeki bilgiler tarafından olası kullanımı için transfer yapılabilecek biçimde bağımsız modüllere parçalanmıştır.  Bilgi kaynakları algoritmik prosedürler kullanarak (ileri-geri doğru fikir yürütme) bilgi tabanını kullanmaktadır. "En uygun zamanlı fikir yürütme", tüm bu çözüm uzayı ve uzmanlık bilgileri organizasyonu içinde uygulanır, yani bilgi üretilebilmesi için hangi modülün ne zaman uygulanacağına dinamik olarak karar verir.

Image

Şekil 5 Karatahta Modeli. 

Karatahta modelinde Karatahta olarak isimlendirilen veri tabanı ve Bilgi Kaynakları olarak isimlendirilen, birbirinden mantıksal bağımsız olan uzmanlık bilgileri gösterilmektedir.  Bilgi Kaynakları Karatahta üzerindeki değişikliklerden sorumludurlar. 

Bir modülün seçimi o andaki çözüm aşamasına (KT üzerinde yapılan son güncellemeyeve/veya düzenlemelere) ve modüllerin gelinen durumu çözüme doğru yaklaştırabilme kabiliyetlerine bağlıdır.

Buraya kadar oluşturulan yapıdan da görülebileceği gibi KT modeli kavramsal bir olgudur, değişik bir hesaplama yöntemi önerilmemektedir.  Bir problemi  çözmek için KT modeli kullanıldığında, KT problemin çözümüne kılavuzluk yapar ve işe başlanması için yeterli ön bilgiyi sağlar. 

Örnek olarak, bir grup insanın aynı Boz-yap’ı tamamlamaya çalıştıklarını düşünelim.  Odanın ortasında büyük bir karatahta ve ellerinde Boz-yap parçalarıyla (aynı miktarlar olmasına gerek yok) insanlar oyunun başlamasını bekliyorlar.  Bir gönüllünün kendisi için uygun bulduğu bir parçayı kar
atahtaya yapıştırmasıyla oyun başlıyor.  Diğerleride ellerindeki parçaların karatahtaya yapıştırılan parçaya uyup uymadığına bakıyorlar ve uyan parçaya sahip olanlar karatahtaya yapıştırıyorlar.  Yapılan her güncelleme yeni güncellemeleride arkasından getirecek ve uygun parçalar karatahta üzerinde birbiriyle birleşecektir.  Oyuncular karatahtaya bir defada birden fazla parça bırakabilme hakkına sahiptirler.  Boz-yapın tümü oldukça sessiz bir ortamda yani oyuncuların birbirleriyle konuşmalarına gerek kalmaksızın tamamlanacaktır.  Oyuncuların karatahtaya gidişleri için önceden bir sıralama yapılmamış, her biri en uygun zamanda kendi kendisini harekete geçirerek çözüme katkıda bulunmuştur.  Dışarıdan bakan birisi için problem kısa bir sürede ve uyum içinde çözülmüş olarak görülür.  Bu örnek KT için verilen klasik bir örnek olmasına rağmen, modelin kolayca anlaşılabilmesi için oldukça etkindir (NII 1986). 

Çözüm odasını, karatahtaya giden tek kişinin geçebileceği bir koridor ve koridorun başında karatahtayı karşıdan görecek biçimde oyuncuların bekleyebileceği boşluk olacak şekilde tasarlayalım.  Artık herkes karatahtanın başına gidemeyeceğinden kimin ne zaman gideceğini düzenleyen bir yöneticiye ihtiyaç vardır.  Mesela yönetici düzenleme yapmak için oyunculara "Ekleyecek parçası olanlar ellerini kaldırsın ?" şeklinde soru yöneltir ve ellerini kaldıranlar arasından bir tanesini seçerek karatahtaya gönderir.  Elemanların seçimi konusunda çeşitli kriterler olabilir; mesela ilk elini kaldıran veya farklı iki yığılma bölgesi arasında köprü kurabilecek parçaları olanlar ilk seçilebilir.  Yöneticinin bu tip bir veya birden fazla çözüm stratejisi olması gereklidir.  Yönetici stratejilerini oyun başlamadan önce veya başladıktan sonra belirleyebilir.  Yönetici güç kullanarak çözümün karakteristiğini değiştirebilme hakkına sahiptir. 

Posted in Genel.

Bir cevap yazın