Uzman Sistemlerin Yapısı

0
1783

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çetkileimli, 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 birletirerek ara çözümlere ve tam sonuçlara ulaan 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.

Şekil 3 Uzman Sistemin bileenleri

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 DİNAMİK : Ç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 DİNAMİK : 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 DİNAMİK 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 kendisiyle 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 ilerine 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 METODLARI : 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).

İLERİ-DOĞRU FİKİR 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.

GERİ-DOĞRU FİKİR 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).

CEVAP VER