Uzman Sistemler – Konusunda Yeterli Bir uzman Gibi Sorun Çözen Bilgisayar Sistemleri

Özet

Uzman Sistemler, belirli bir alanda sadece o alan ile ilgili bilgilerle donatılmış ve problemlere o alanda uzman bir kişinin getirdiği şekilde çözümler getirebilen bilgisayar programları olarak tarif edilebilir. Sistemi geliştiren kişi ile sistemin geliştirileceği alandaki uzman kişi ya da kişilerin karşılıklı fikir alışverişleri sonucu ortaya çıkarılan bilgi, sistemin bilgi tabanına uygun formatta girilir. Şayet ileride bilgide bir değişiklik yapmak gerekirse bu değişiklik bilgi tabanı üzerinde rahatça yapılabilir. Tamamlanan sistem, bilgi tabanındaki bilgiyi kendisine uç kullanıcılar tarafından belirtilen problemleri çözmede kullanır. Bu çalışmada ayrıca Uzman Sistem geliştirirken nelere dikkat edilmesi gerektiğinden, Uzman Sistemlerin yordamsal programlardan farklarından ve ilk geliştirilen Uzman Sistemlerden de bahsedilmiştir.

1. Giriş

Haberleşme ve iletişim alanındaki gelişmeler, ülkeler arası kurulan iletişim ağları (Internet) dünyayı büyük bir köy haline getirmiştir. Dünyanın herhangi bir yerinde üretilen bilginin sayısal hale getirilerek bilgisayar ortamında saklanması, o bilgiye dünyanın herhangi bir yerinden çok kısa sürede erişimi olanaklı kılmaktadır. ‘Bilgi Çağı’ ve ‘Bilgi Toplumu’ gibi terimlerin sıklıkla kullanıldığı günümüzde bilginin önemi daha açık bir şekilde ortaya çıkmaktadır. Bilginin önemi arttığı oranda o bilgiye ulaşabilmeyi sağlayan sistemlerin de önemi artmaktadır. Teknolojik gelişmelere paralel olarak bütün iş sektörlerinde bilgisayarlar kullanılmaya başlanmıştır ve her türlü gerekli bilgi bilgisayar ortamında saklanarak istenildiğinde yöneticilere sunulmaktadır. Burada önemli olan bilgilerin toplanması, organize edilmesi ve dağıtılmasıdır. Bir çok organizasyon bilgiyi toplamak, organize etmek ve dağıtmak için bilgisayar destekli bilgi sistemlerini kullanmaktadır. Yönetim bilimleri tabiriyle işletmelerde ‘Yönetim Bilgi sistemi’ kullanımı yaygınlaşmaktadır. Bunun yanı sıra işletmeler ‘Uzman Sistem’ gibi farklı yönetim bilimi tekniklerini kullanmaktadırlar.

Son yirmi yıl içerisinde Yapay Zeka tabanlı programlar olan Uzman Sistemler büyük dikkat çekmiştir. Uzman Sistemlerin birçok farklı alandaki zor seviyede sayılabilecek problemleri başarılı bir şekilde çözüme kavuşturması, dikkat çekmelerindeki en önemli unsuru oluşturmuştur. Uzman Sistemler, özellikle bilgisayar sistem dizaynı, lokomotif tamiri ve gen klonlama konularındaki başarılarıyla ön plana çıkmışlardır.

Uzman Sistemler, temelde uzman bir insan düzeyinde problem çözmede , insan bilgisini yoğun biçimde kullanan programlardır. Uzman ise, belirli bir konuda çok az insanda bulunabilen düzeyde bilgi sahibi olan kişidir. Yani pek çok kişinin çözemeyeceği bir problemi çözebilen veya pek çok insandan çok daha etkin ve çabuk biçimde çözebilen bir insana uzman denir. Uzman kavramı ışığında Uzman Sistemleri tekrar tanımlayacak olursak ‘Ancak bir uzman insanın çözebileceği karmaşık problemlerin bilgisayar ile çözümüne olanak sağlayan sistemler’ denilebilir. İyi tasarlanmış sistemler belirli problemlerin çözümünde uzman insanların düşünme işlemlerini taklit ederler. Burada Uzman Sistem tabiri kullanılmasının sebebi, sistemin bir veya daha fazla uzmanın bilgilerine sahip olarak onun veya onların yerini almaya yönelmesinden dolayıdır. Amaç bir insan uzman gibi veya ondan daha iyi bir Uzman Sistem geliştirebilmektir. Böyle bir sisteme sahip olmak kişiyi uzman yapmaz, fakat bir uzmanın yapacağı işin bir kısmını veya tamamını yapmasını sağlar.

Uzman Sistemler nasıl çalışırlar? Bir Uzman Sistem belirli bir alanda bilgiye sahip uzman yada uzmanların bilgilerini depolar. Uzman Sistemin çözüm getireceği alana ‘domain’ denir. Örneğin ilk Uzman Sistem örneği olan DENDRAL’in domaini ‘bilinmeyen bileşiklerin moleküler yapılarının tayini’ idi. Kullanıcı belirlenen alan dışına çıkmadan problemini Uzman Sisteme aktarır, Uzman Sistem de elindeki verileri kullanarak kullanıcıya uygun cevabı vermeye çalışır.

1970’de ilk kez ortaya çıkan Uzman Sistemler, yoğun biçimde uzman insan bilgisi kullanıyordu. Bugün bu kavram Uzman Sistem teknolojisi kullanan bir sistem için de kullanılmaktadır. Uzman Sistemlerde kullanılan bilgi kitap, dergi ve bilgili kişilerden alınan bilgi olabilir. Bazen Bilgi-Temelli Sistem veya Bilgi-Temelli Uzman Sistem ifadeleri Uzman Sistem ifadesi yerine kullanılabilir.

Çalışmamızın ikinci bölümünde Uzman Sistemlerin yordamsal programlardan farklarından, Uzman Sistemlerin genel bileşenlerinden ve tasarımından bahsedilmiştir. Uzman Sistemlerin özellikleri ve faydaları üçüncü bölümde bahsedilen konulardır. Dördüncü bölümde Uzman Sistemlerin gelişim tarihinden ve ilk Uzman Sistemlerden bahsedilmiştir. Son bölümümüz de ise bu çalışmanın sonucu hakkında bilgi verilmiştir.

2 Uzman Sistemler

2.1 Uzman Sistemler ve Yordamsal Programlar

Uzman Sistemlere ait ilk çalışmalar Standford Üniversitesi’nde yapılmaya başlanmıştır. Stanford Üniversitesi profesörlerinden Edward Feigenbaum Uzman Sistemlerin tanımını ‘bilgi ve çıkarım prosedürlerini kullanarak uzman bilgisi gerektiren zor problemleri çözen akıllı bilgisayar programları’ şeklinde yapmıştır. Burada ‘bilgi’ önemli bir kelimedir. Çünkü Uzman Sistemler bünyelerinde var olan bilgi ile sonuca varırlar.

Uzman Sistemler, yordamsal programlardan çok farklıdır. Yordamsal programlar, algoritmaya dayanan yani kesin sonucu olan programlardır. Fakat Uzman Sistemlerde ise kesin sonuç olmayabilir. Elimizde bilgi vardır ve sistemimiz elimizdeki bu bilgiyi kullanarak yorum yapar.

Uzman Sistemler, problem çözmede uzman bilgisini yani insan bilgisini kullanırlar. Bu sistemlerde uzman bilgisi, bilgi yada kurallar kümesi olarak adlandırılır. Bu bilgi ve kurallar kümesi problem çözümünde ihtiyaç duyulursa kullanılır. Kitaplar ve elkitapları, çok fazla bilgiye sahiptir, fakat bu bilginin kullanılabilmesi için bu kaynakların okunması ve bilginin bilgisayarın kullanabileceği formata çevrilmesi gerekmektedir. Yordamsal programlar, bir problemi çözmede bilgiden ziyade basit algoritmalar kullanırlar. Ayrıca az olsa da kullanılan bu bilgi program kodunun içine yerleştirilmesi gerekmektedir. Fakat burada bir problem önümüze çıkmaktadır. Şayet bilgimizde bir değişiklik olduğu zaman, değişen bilginin tekrar kodumuzun içine değişen haliyle yazılması ve programın tekrar derlenmesi gerekmektedir. Uzman Sistemler ise, ufak bilgi parçalarını bilgi tabanına toplarlar ve bunu uygun bir problemin değerlendirilip çözülmesinde kullanırlar. Farklı bir problemle karşılaşıldığında ise, yordamsal programlamanın aksine, bilgi tabanının sınırları dahilinde
, tekrar programlamadan problem çözülebilir. Ayrıca yapılan işlemlerin gerekçelerini açıklaması, güven seviyeleri ile uğraşması ve kuşku gibi özellikler Uzman Sistemlerin yordamsal programlara göre artı özellikleridir. Yordamsal programlarda Basic, Pascal gibi programlama dilleri kullanılırken, Uzman Sistem tasarımında Lisp, Prolog gibi Yapay Zeka dilleri kullanılmaktadır.

2.2 Uzman Sistemlerin Temel Bileşenleri

Bir Uzman Sistem iki ana parçanın birleşiminden oluşur. Geliştirme çevresi ve görüşme çevresi. Geliştirme çevresi sistemin bileşenlerini kurmak ve uzman bilgilerini bilgi tabanına girmek için Uzman Sistemi kuranlar tarafından kullanılır. Görüşme çevresi ise uzman bilgi ve nasihatlerine ulaşabilmek için uzman olmayanlar tarafından kullanılır. Bir Uzman Sistemde aşağıdaki bileşenler mevcuttur.

a – Bilgi kazanma: Bazı bilgi kaynaklarından bir bilgisayar programına problem çözümü için bilgi aktarma ve dönüştürme işlemleri yapılır. Potansiyel bilgi kaynakları uzman insanlar, kitaplar, veri tabanları, özel araştırma raporları ve kullanıcının kendi deneyimleri olabilir.

b – Bilgi tabanı: Bilgi tabanı problemlerin anlaşılması, formülasyonu ve çözümü için gerekli olan tüm bilgileri içerir. Örneğin olaylar ve durumlar hakkında bilgi ve bunlar arasındaki mantıksal ilişki yapılarını ihtiva eder. Ayrıca standart çözüm ve karar alma modellerini de içerir.

c – Çıkarım mekanizması: Uzman Sistemin beynidir. Bilgi tabanı ve çalışma alanında bulunan bilgiler üzerine düşünmek için bir metodoloji sunan ve sonuçları biçimlendiren bir bilgisayar programıdır. Bir başka deyişle problemlere çözümler üreten bir mekanizmadır. Burada sistem bilgisinin nasıl kullanılacağı hakkında karar alınır.

d – Çalışma alanı: Giriş verileri tarafından belirlenmiş problem tanımları için hafızanın bir köşesinde bulunan çalışma alanıdır. Bu alan işlemlerin ara seviyelerindeki sonuçları kaydetmek için de kullanılır.

e – Kullanıcı arabirimi: Uzman Sistemler, kullanıcı ile bilgisayar arasında probleme yönelik iletişimin sağlanması için bir dil işleyici içerir. Bu iletişim, en sağlıklı doğal dil ile yapılır. Kısaca kullanıcı ara birimi kullanıcı ile bilgisayar arasında bir çevirmen rolünü üstlenmiştir. Modern bilgisayar programlarında olduğu gibi, Uzman Sistemlerin de kullanıcının rahat kullanabileceği kolay ve anlaşılır bir arabirimi vardır. Kullanıcı arabiriminin kolay ve anlaşılır olması, sistemin iç çalışmasının akıcı olacağı anlamına gelmez, fakat bu uç kullanıcıların Uzman Sistemi kullanırken sisteme problemlerini rahatça anlatabilmelerini ve sistemin verdiği sonucu da rahatça anlayabilmelerini sağlar.

f – Açıklama: Uzman Sistemleri diğer sistemlerden farklı yapan bir özelliği de açıklama modülünün olmasıdır. Açıklama modülünden kasıt, kullanıcıya çeşitli yardımların verilmesi ve soruların açıklanması olduğu kadar, Uzman Sistemin çıkardığı sonucu nasıl ve neden çıkardığını açıklayabilmesidir. Burada Uzman Sistem karşılıklı soru cevap şeklinde davranışlarını açıklar.

g – Düşünme kapasitesini iyileştirme: Bir uzman insan kendi performansını analiz edebilir, öğrenebilir ve gelecekteki kullanım için onu iyileştirebilir. Sistemlerin de bu tip davranışlar göstermeye ihtiyacı vardır. Sistemin kendini iyileştirmesi öğrenme ile ilgili bir konudur. Sistemlerin bir uzman insan gibi öğrenebilmelerine yönelik çalışmalar sinirsel ağlar üzerinde sürdürülen araştırmalarla devam etmektedir. Amaç bir insan beyni gibi çalışan Yapay Zekayı geliştirebilmektir.

Son zamanlarda Uzman Sistemlerin geliştirilmesinde Uzman Sistem kabukları denilen sistemlerden de istifade edilmektedir. Bunlar hazır hale getirilmiş, çıkarım mekanizması ve bilgi saklama özellikleri ile donatılmış sistemler olup sadece alan bilgisi olmayan içi boş Uzman Sistemlerdir. Bu kabuklar bir sonuç mekanizması ile donatılmışlardır ve spesifik bir formata göre bilgi girişine sağlarlar. Diğer bazı özellikleri, hypertext yazma araçları, kullanıcı için kullanımı kolay arabirim tasarımı, listeleri, stringleri ve objeleri işleyebilme, harici programlarla ve veritabanları ile anlaşabilme şeklinde sıralanabilir. Kabuklar, programlama dillerine benzerler, fakat programlama dilleri gibi birçok uygulama ile ilişkili olamazlar. İlişkili oldukları uygulama açısından sınırlıdırlar. Ayrıca kullanıcının kendisinin özel çıkarım mekanizması geliştirmesine imkan veren daha gelişmiş sistemler de vardır.

2.3 Uzman Sistemlerin Çalışma Prensibi

Uzman Sistemlerin temel çalışma prensipleri şöyledir: Programı kullanan kişi Uzman Sistem programına gerçekleri (facts) verir ve karşılığında uzman tavsiyesi veya uzmanlık alır. Uzman Sistemler genelde iki ana unsurdan oluşur. Bunlardan birincisi Bilgi-Tabanı (Knowledge-Base) olup, doğruluğu önceden bilinen gerçekleri içerir. İkinci unsur olan Karar Motoru (Inference Engine) ise, Bilgi Tabanı’nda bulunan bilgiyi kullanarak kullanıcının sorduğu sorulara uygun sonuçlar çıkarır. Şekil 1’de bir Uzman Sistem’ in çalışma prensibi gösterilmiştir.

Image

Şekil 1. Bir Uzman Sistemin çalışma prensibi

2.4 Uzman Sistemlerin Tasarımı

Bir Uzman Sistem tasarımına başlamadan önce, çözümü aranan problem için Uzman Sistemlerin en uygun yöntem olup olmadığına karar vermek gerekir. Örneğin geleneksel programlama ile çözüm bulunabilen bir problem için Uzman Sistemlere başvurmak gereksizdir. Bu konuda bir karara varabilmek için, göz önünde bulundurulması gereken bazı kriterler mevcuttur. Bunlardan bazıları şunlardır:

· Problem, yordamsal programlama ile çözülebilir mi?

Eğer bu sorunun cevabı ‘Evet’ ise, bu durumda Uzman Sistemlerle uğraşmanın en iyi çözüm olmadığı barizdir. Örneğin arıza yapan bir cihazdaki hatayı tespit etmek için, bir arızaya yol açan bütün nedenler bilindikten sonra yapılması gereken tek şey, sadece bir hata ve çözüm tablosuna bakmak yeterli olur. Uzman Sistemler daha çok algoritmik çözümü olmayan, eldeki verileri kullanarak sonuç çıkarmak gereken problemler için uygun olur.

· Uygulama yapılacak alanın sınırları kesin olarak belli mi?

Tasarlanacak Uzman Sistemin bilmesi gerekenler ve yeteneklerinin sınırları tam olarak
belirli olmalıdır. Örneğin baş ağrılarına teşhis koymak için kullanılan bir Uzman Sistem düşünelim. Böyle bir Uzman Sistem için bir tıp doktorunun bilgisine başvurmak gerekir. Fakat baş ağrılarının nedenlerini çok ayrıntılı bir biçimde araştırmak, tavsiyede bulunmak için nörologun da bilgisine ihtiyaç duyulur. Daha ayrıntıya girildikçe biyokimya, kimya, moleküler biyofizik vs. gibi pek çok alan ile ilgili bilginin de bilgi tabanına eklenmesi gerekir. İşte böyle durumlara düşmemek için, Uzman Sistemin alanının mutlaka bir şekilde sınırlandırılması gerekir. Aksi takdirde Uzman Sistem çok karmaşık hale gelir.

· Uzman Sisteme ihtiyaç var mı?

Pek çok uzmanın bulunduğu bir alanda Uzman Sistem hazırlamak pek de mantıklı olmaz. Çünkü böyle bir Uzman Sistemin dayanak noktası az bulunan uzman bilgisinden ziyade, çok sayıda uzmandan rahatlıkla alınabilecek bilgiye dayanır.

· İşbirliği yapılabilecek en az bir uzman kişi mevcut mu?

Tasarlanan projeye ilgi duyan en az bir uzman kişinin bulunması gereklidir. Çünkü herkes, bilgisinin doğruluğunun test edilmesini kabul etmeyebilir. Bir projeye çok fazla sayıda uzman kişinin katılması da bazen sakıncalı olabilir. Bir problemin çözümü için iki uzman farklı testler ve çözümler önerebilir. Bazen, farklı sonuçlara da varabilirler.

· Uzman kişi, bilgisini anlaşılabilir derecede açıklayabiliyor mu?

Bir Uzman Sistem hazırlanırken, bilgisine başvurulan uzman kişinin kendisine net bir biçimde ifade edebilmesi çok önemlidir. Tasarım yapan mühendis, uzman kişinin söylediklerini net bir şekilde anlayamazsa, aldığı bilgiyi bilgisayar koduna dönüştürmesi çok zor olur.

Uzman Sistemin tasarımına karar verdikten sonra, aşağıdaki başlıca 6 adım uygulanmalıdır:

1 – Uzman Sistem tasarımı için bir araç seçilir.

2 – Problemin tam olarak ne olduğu belirlenir sistemin içermesi gereken bilgi analiz edilir.

3 – Sistem dizayn edilir. İlk olarak bu dizayn sistemin kağıt üzerinde tasvir edilmesini içerir. Yani akış diyagram ve matrisleri, sistemin kurallarının taslakları bu dizaynın içerisinde yer alır.

4 – İlk adımda belirlediğimiz araç kullanılarak sistemin bir prototipi oluşturulur. Bu prototip, bilgi tabanının oluşmuş halini, test edilmesini ve birçok denemenin gerçekleştirilmesini içerir.

5 – Sistem istediğimiz hale gelene kadar üzerinde genişletmeler ve testler yapılarak sistem gözden geçirilir.

6 – Sistem son halini alır ve yeri geldikçe üzerinde yeni düzenlemeler yapılabilir.

3. Uzman Sistemlerin Özellikleri

Bir Uzman Sistem genelde şu özellikleri taşıyacak şekilde tasarlanır:

a – Yüksek Performans : Bir Uzman Sistem programı, sorulan sorulara uzman bir insana denk veya daha iyi bir düzeyde cevap verebilmelidir.

b – Hızlı Cevap Verme: Tasarlanan sistemin, sorulan sorulara yönelik bir sonuca makul bir sürede varabilmesi ve hatta uzman bir insandan daha çabuk karar verebilmesi gerekir. Örneğin, bir uzmanın bir saatte sonuca vardığı bir konuda, Uzman Sistemin bir yılda karar vermesi elbette işe yaramaz.

c – Güvenilirlik: Hazırlanan Uzman Sistemin güvenilir olması, hata vermemesi gerekir.

d – Anlaşılabilirlik: Tasarlanan sistemin, bir konuda vardığı sonucun aşamalarını tek tek açıklayabilmesi gerekir. Sonuca nasıl vardığı meçhul olan bir sistemden ziyade, tıpkı bir insan uzman gibi, gerektiğinde vardığı sonucun nedenlerini açıklayabilmelidir.

e – Esneklik: Bir Uzman Sistemde kullanmak üzere büyük miktarda bilgi yüklemek gerekir. Bu yüzden bilgi ilave etmek, değiştirmek ve silmek için etkin bir mekanizmanın Uzman Sisteme eklenmesi gerekir. Kural-Tabanlı Sistemlerin (Rule-Based Systems) popüler olmasının önemli nedenlerinden biri, kuralların etkin ve modüler bir biçimde saklanabilme özelliğidir.

3.1 Uzman Sistemlerin Faydaları

Uzman Sistemlerin bizlere sağladığı başlıca faydalar şunlardır:

a – Maliyet azalması : Uzman Sistem kullanımı ile karşılaştırıldığında insanların incelemeleri daha pahalı görülmektedir. Böylece kullanıcı başına düşen uzmanlık maliyeti azalmış olur.

b – Hazır Bilgi: Hazırlanan Uzman Sistem programı sayesinde uzman bilgisi herhangi bir bilgisayara yüklenebilir. Bilgi almak için uzman kişiyi beklemeye gerek kalmaz.

c – Verimlilik artışı: Uzman Sistemler insanlardan daha hızlı çalışır. Artan çıktının anlamı, daha az sayıda insan ve daha düşük maliyettir.

d – Kalıcı Bilgi: Zamanla emekli olabilen veya hayata veda eden insan uzmanların aksine, Uzman Sistem bilgisi kalıcıdır.

e – Açıklama: Uzman Sistem, varılan sonucun nedenlerini ayrıntılı olarak açıklar. Oysa bir insan bunu her zaman yapamayabilir.

f – Kalite iyileştirmesi: Uzman Sistemler tutarlı ve uygun nasihatler vererek ve hata oranını düşürerek kalitenin iyileştirilmesini temin ederler.

g – İşleyiş hatalarını azaltma: Bir çok Uzman Sistem hatalı işlemleri tespit etmek ve onarım için tavsiyelerde bulunması için kullanılır. Uzman Sistem ile bozulma sürelerinde önemli bir azalmanın sağlanması mümkündür.

h – Esneklik: Uzman Sistemlerin kullanımı üretim aşaması ve servis sunulması sırasında esneklik sağlar.

i – Daha ucuz cihaz kullanımı: İzleme ve kontrol için insanların pahalı cihazlara bağlı kaldığı durumlar vardır. Fakat Uzman Sistemler ile aynı görevler daha ucuz cihazlarla yerine getirilebilir.

j – Tehlikeli çevrelerde işlem: Bazı insanlar tehlikeli çevrelerde çalışırlar. Uzman Sistemler ise insanların tehlikeli çevrelerin dışında kalmasına imkan sağlar. Uzman Sistemler, insanlar için zararlı veya tehlikeli olan bütün ortamlarda rahatlıkla kullanılabilir.

k – Güvenilirlik: Uzman Sistem güvenilirdir. Uzman Sistem bilgilere ve potansiyel çözümlere üstün körü bakmaz, tüm detayları yorulmadan ve sıkılmadan dikkatlice gözden geçirir.

l – Cevap verme süresi: Bazı durumlarda hızlı veya gerçek zamanlı cevap vermek gerekebilir. Kullanılan yazılım ve donanıma bağlı olmak şartıyla, bir Uzman Sistem, özellikle verilerin büyük bir kısmının gözden geçirilmesi gerektiğinde bir insandan çok daha hızlı cevap verecektir.

m- Tam ve kesin olmayan bilgi ile çalışma: Basma kalıp bilgisayarlar ile karşılaştırıldığında, Uzman Sistemlerin insanlar gibi tam olmayan bilgi ile çalışabildiği görülmektedir. Bir g
örüşme sırasında sistemin bir sorusuna kullanıcı ‘bilmiyorum’ veya ’emin değilim’ şeklinde bir cevap verdiğinde, Uzman Sistem kesin olmasa bile bir cevap üretebilecektir.

n – Eğitim: Uzman Sistemin açıklayabilme özelliği bir öğretim cihazı gibi kullanılarak eğitim sağlanabilir.

o – Problem çözme kabiliyeti: Uzman Sistemler, uzmanların yargılarını bütünlemeye imkan sağlayarak problem çözme kabiliyetlerini yükseltirler. Bu sistemler bilgileri nümerikten ziyade sembolik olarak işledikleri için bir çok yöneticinin karar alma stilleri ile uyumludur.

p – Sınırlı bir sahada karışık problemlerin çözümü: Uzman Sistemler insan yeteneklerini aşan karışık problemlerin çözümünde kullanılabilir.

r – Duygusallıktan Uzak Cevaplar : Stres veya kırgınlıktan dolayı verimli olarak çalışamayan bir insanın aksine, bir Uzman Sistem gerçek zamanlı sorunlara duygusallıktan uzak gerçekçi cevaplar verebilir.

s – Akıllı Veritabanı: Uzman Sistemler, bir veritabanı dosyasına akıllıca erişebilir.

3.2 Uzman Sistemlerin Sınırları

Uzman Sistemlerin ticari olarak yayılmasının önündeki bazı problemler şunlardır :

a – Bilgi her zaman okunabilir uygunlukta değildir.

b – İnsanlardan bilgi almak zordur.

c – Uzman Sistemler ancak sınırlı sahalarda, bazı durumlarda ise çok sınırlı sahalarda iyi çalışabilirler.

d – Yardım için bilgi mühendisine ihtiyaç gösterir. Bilgi mühendisi az bulunur ve pahalı olduğu için sistemin maliyetini yükseltir.

e – Sistemin maliyeti ve geliştirme süresi engelleyici bir faktördür.

f – Her hangi bir uzmanın durum değerlendirmesi için yaklaşımı farklı bile olsa doğru olmalıdır.

g – Çok tecrübeli bir uzman bile olsa, zaman baskısı altında olduğu zaman iyi bir durumsal değerlendirme yapması zordur.

Bu sınırlamaların üstesinden gelebilmek için yaygın araştırmalar yapılmakta, böylelikle Uzman Sistem kullanımı hızla artmaktadır.

3.3 Uzman Sistemlerin Kullanım Alanları

Günümüzde bilginin kullanıldığı hemen her alanda Uzman Sistemler kullanılmaktadır. Bazı Uzman Sistemler araştırma aracı olarak kullanılırken, bazıları önemli iş ve endüstri alanlarında kullanılmaktadır. Yabancı para değerlerinin takibi ve tahmini, yatırım danışmanlığı, kredi yönetimi ve müşteri değerlendirme, faiz karşılığında ödünç para alma işlemlerini onaylama, sigorta risklerini değerlendirme ve yatırım fırsatlarını değerlendirme gibi alanlarda Uzman Sistem kullanımı yaygınlaşmaktadır. Literatürde verilen bilgilere dayanarak değişik alanlarda hazırlanmış olan Uzman Sistemlerden bazıları Tablo 1’de verilmiştir:

 

Uzman Sistem

Amacı

Biyoloji

CRYSALIS

Proteinlerin 3 boyutlu yapılarını yorumlama

DENDRAL

Moleküler Yapı Yorumlama

CLONER

Yeni biyolojik yapı tasarımı

MOLGEN

Gen kopyalama (klonlama) deneylerinin tasarımı

SECS

Kompleks organik moleküllerin tasarımı

SPEX

Moleküler biyoloji deneylerinin planlanması

Elektronik

ACE

Telefon Ağlarındaki arızaların teşhisi

IN-ATE

Osiloskop hatalarının teşhisi

NDS

Ulusal iletişim ağının teşhisi

PALLADIO

Yeni VLSI devrelerinin tasarım ve testi

CADHELP

Bilgisayar destekli tasarım yardımı

SOPHIE

Devre arıza teşhisi yardımı

Tıp

PUFF

Akciğer hastalıklarının teşhisi

VM

Yoğun bakım hastalıklarının incelenmesi

AI/COAG

Kan hastalıklarının teşhisi

CADUCEUS

Dahili hastalıkların teşhisi

MYCIN

Bakteriyel enfeksiyonların teşhis ve tedavisi

ONCOCIN

Kemotrapi hastalarının tedavi ve idaresi

ATTENDING

Anestezi işlem talimatı

GUIDON

Bakteriyel enfeksiyonlar için talimat

Termo-dinamk

REACTOR

Reaktör kazalarının teşhis ve çözümü

DELTA

GE lokomotiflerinin teşhis ve çözümü

STEAMER

Buhar santralinin çalışma talimatı

Madencilik

LITHO

Petrol kuyularının verilerinin yorumlanması

MUD

Sondaj problemlerinin teşhis ve çözümü

PROSPECTOR

Mineral arama çalışmaları için jeolojik verilerin yorumlanması

Bilişim

BDS

Şalterli ağlarda bozuk kısımların teşhisi

YES/MVS

IBM MVS işletim sistemi için konrol/izleme

Tablo 1. Uzman Sistemler ve uygulama alanları

4. Uzman Sistemlerin Yükselişi

Bilgi-Tabanlı kavramının bütün türevlerinin 1970’lerde kabul edilmesiyle birlikte başarılı Uzman Sistem protipleri hazırlanmaya başlandı. Bu Uzman Sistemler kimyasal analiz (DENDRAL), hastalık teşhisi (MYCIN), petrol bulmak üzere jeolojik veri (DIPMETER) ve mineral analizi (PROSPECTOR), bilgisayar konfigürasyonu (XCON) yapabiliyorlardı. PROSPECTOR’ın jeolojik verileri analiz ederek 100 milyon dolarlık petrol bulunmasında yardımcı olduğu ve XCON sisteminin DEC firmasına milyonlarca dolarlık tasarruf sağladığı haberleri, 1980’lere gelindiğinde Uzman Sistemlere olan ilgiyi hayli arttırdı. Böylece insan bilgisini işlemek üzere 1950’lerde ortaya atılan Yapay Zeka kavramının bu yan dalı, artık ticari başarı kazanmak üzere kullanılmaya başlandı.

MYCIN isimli Uzman Sistemin geliştirilmesi üç bakımdan çok önemli bir dönüm noktası oldu. Birincisi, Yapay Zeka konusunun dünya problemleri için kullanılabilirliğini gösterdi. İkincisi, günümüz Uzman Sistemlerinin bazılarında bulunan açıklama yeteneği, bilgiyi otomatik olarak elde etme, akıllı belletmen gibi kavramların test edilmesine uygun bir zemin oluşturdu. Üçüncüsü, Uzman Sistem kabukları (shell) hazırlamanın makul olduğunu gösterdi.

DENDRAL gibi ilk Uzman Sistemler, bilgi tabanını karar motoru ile karıştırıp kullanıyordu. Oysa MYCIN bilgi tabanını belirgin bir şekilde karar motorundan ayırıyordu. Bu teknik, Uzman Sistem hazırlama teknolojisinin gelişmesinde son derece önemli bir adımı oluşturdu. Çünkü bir Uzman Sistemin ana parçasının tekrar tekrar kullanılabileceğini göstermişti. Böylece bilgi tabanındaki eski bilgiler boşaltılıp yerine yenisi konulunca yeni bir Uzman Sistem oluşturmak mümkün olabilecekti.

80’lerde ise bazı şirketler, Uzman Sistem konusunu sadece üniversitelerin üzerinde çalışma yaptıkları bir konu olmaktan çıkarıp, ticari programlar hazırlamaya başladılar. Bunun için öncelikle Uzman Sistem hazırlamada kullanılabilecek güçlü yazılım paketleri geliştirildi.[6]

4.1 İlk Uzman Sistemler

İlk Uzman Sistemler 1970’li yıllarda ortaya çıkmıştır. Bu dönemde üzerinde çalışma yapılan başlıca Uzman Sistem şunlardır:

4.1.1 DENDRAL: Kimyasal Analiz Uzmanı Sistemi

Genelde ilk Uzman Sistem olarak kabul edilen DENDRAL için çalışmalar 1960’ların ortasında Standford Üniversitesi’nde başladı. Fakat 1970’lerin başına DENDRAL istenilen şekilde çalıştırılamadı. Bilinmeyen bileşiklerin moleküler yapısını bulmak maksadıyla hazırlanan DENDRAL başarılı bir Uzman Sistem olduğu için halen de dünyanın pek çok yerinde kimyagerler tarafından kullanılmaktadır. Hatta bazı işleri yapmada DENDRAL’in, herhangi bir uzmandan daha başarılı olduğu kabul edilmiştir. DENDRAL Uzman Sistemi, önce geleneksel programlama yaklaşımıyla hazırlanmıştı. Daha sonra sonuç almak için geçen zamanı düşürmek için buluşsal metotlar denenmiştir. Buluşsal algoritma, teşhis edilmesi istenen bileşikten alınan spektrostopik verileri kullanıyordu. Bu verilerden, teşhis edilmek istenen bileşiğin yapısına benzemeyen yapılar, rübeye dayalı algoritma ile milyonlardan minimuma indirilir. Burada kullanılan tecrübe, kimyagerlerin aynı işi yaparken kullandıkları bilgiye dayanıyordu. Daha sonra geriye kalan yapılar, bilinmeyen bileşiğinkiyle karşılaştırılır ve sonuca gidilirdi. DENDRAL, varılan sonucun nedenini açıklamak yerine, sadece vardığı sonucu kullanıcıya sunardı.

4.1.2 HEARSAY I-II : Konuşma Tanıma

Carnegie-Mellon Üniversitesi’nde geliştirilen HEARSAY I (1969) ve HEARSAY II (1971) Uzman Sistemleri, bilgisayara ses dalgası olarak verilen insan konuşmasını yazılı bir çıktı halinde ekranda görüntülemek amacıyla hazırlanmıştı. Bu ses dalgasından, konuşmanın ne olabileceği hakkında hipotezler türetilmekte ve daha sonra en iyi tahmin ise sonuç olarak sunulmaktaydı.

Bu Uzman Sistemin gelişmesinde kullanılan önemli bir yenilik, birden fazla bilgi tabanının kullanılmış olmasıydı. Bu bilgi tabanları, bütün bilgi tabanlarınca işleyen hafıza olarak kullanılan bir kara tahta vasıtasıyla birbirleriyle iletişim kuruyorlardı. Kullanılan bilgi tabanlarının her biri sırasıyla, çözümlenmesi istenen konuşmanın bir yönü üzerinde yoğunlaşıyordu. Günümüzde kullanılan Uzman Sistem kabuklarının bazıları, bu kara tahta kavramını kullanmaktadır.

1975 yılında tamamlanan bu projenin kelime kapasitesi 1000 civarında idi. Sistem, verilen konuşmanın yaklaşık %75’ini başarılı bir şekilde anlayabiliyordu. Bu işlemi başarması için gereken süre, bir insanın aynı konuşmayı anlaması için gereken zamandan sadece birkaç kat daha uzundu.

HEARSAY
Uzman Sisteminin ortaya koyduğu sonuçlardan biri, daha önce konvansiyonel metotlar kullanılarak yapılmaya çalışılan bir iş için, buluşsal yaklaşımın daha üstün olması idi. Çünkü geleneksel yöntem, istatiksel araç kullanılan analitik yönteme dayanıyordu.

4.1.3 MYCIN: Kan Enfeksiyonları Uzmanı

MYCIN, 1970’li yıllarda Standford Üniversitesi’nde geliştirildi. Bugüne kadar hiçbir zaman kullanıma sokulmamasına rağmen, MYCIN, bugüne kadar geliştirilen Uzman Sistemlerden en çok bilinenidir. Uzman Sistemler konusunda hazırlanan yazıların çoğu MYCIN üzerine yoğunlaştığından, bu Uzman Sistem bu alanda yapılan sonraki çalışmaları teşvik edici bir rol oynamıştır.

MYCIN, Uzman Sistemlerin büyük ve karmaşık gerçek problemleri çözmek üzere nasıl tasarlanması gerektiğini göstermek için amacıyla yapılan bir araştırma sonucu ortaya çıkmıştır. Çalışma, menenjit ve bakteriyel enfeksiyonların teşhis ve tedavisinde doktorlara yardımcı olmak amacıyla gerçekleştirilmiştir.

MYCIN’in kullandığı bilgi veritabanında, doktorların bazı enfeksiyonları teşhis ederken kullandıkları buluşsal kurallar vardı. MYCIN’in kullandığı bu veritabanı silinip yerine başka grup hastalıkların teşhisi için kullanılan kurallar konulduğunda ortaya başka grup hastalıkların tanınmasında kullanılabilecek başka bir Uzman Sistem ortaya çıkmış oluyordu. Böylece Uzman Sistem kabuğu olarak tanımlanan eklenti plug-in) kavramı ortaya çıkmış oldu.

4.1.4 XCON(R1): Bilgisayar Konfigürasyon Uzman Sistemi

Rutin işlerde kullanılan Uzman Sistemlere verilen en klasik örnek, Digital Equipment Corp. (DEC) tarafından geliştirilen XCON isimli Uzman Sistem, DEC’in bilgisayar sistemlerinin konfigürasyonunda kullanılmak için hazırlanmıştır.

Bir bilgisayar sisteminin konfigürasyonu yapılırken, müşterinin istediği özellikleri taşıyan parçalar bir araya getirilir ve üretim yapılan yerde testi yapılır. Bilgisayarı oluşturan parçaların çok fazla alternatifi olduğu için, sadece istenilen sayıda parçayı paketleyip yollamak mümkün değildir. Kullanılmakta olan Uzman Sistemlerin en başarılılarından biri olan XCON, üreticisi olan firmaya milyonlarca dolar kazandırmaktadır. Aynı zamanda alınan siparişleri hazırlamak için gerekli zaman oldukça azalmakta ve siparişin hatasız olarak yerine getirilmesini sağlamaktadır. XCON, bir konfigürasyonu bir insandan yaklaşık olarak 15 kat daha hızlı yapabilmektedir. Yapılan testlerde insanların yaptığı konfigürasyonlarda yaklaşık %70’lik bir doğruluk saptanırken, XCON ile bu oran %98 olarak tespit edilmiştir. Kullanılmakta olan ilk ve tek sistem elbette XCON değildir. Ancak XCON’un hazırlanması ve ne kadar başarılı olduğunun duyulmasından sonra bu alanda yapılan çalışmalara hız verildiği için, XCON’un önemi büyüktür.

4.2 Yakın Zamanda Geliştirilen Uzman Sistem Örnekleri

1970’li yıllarda ortaya çıkan Uzman Sistemler günümüzde çok gelişmiş örneklere sahiptir. Bunlar;

4.2.1 GATES: Havaalanı Pist Tayini ve İzleme Uzman Sistemi

GATES, JFK (New York) havaalanında halen kullanılmakta olan bir Uzman Sistemdir. Sistem, TWA şirketinde çalışan yer kontrolü personeline, gelen ve giden uçaklara pist tayininde yardımcı olmak amacıyla hazırlanmıştır. Sistemde kullanılan bilgi tabanı, bu işi günlük olarak yapan bir yer kontrol uzmanının bilgisine başvurarak hazırlanmıştır.

Pist tayin problemi uçuş saatlerindeki gecikme, kötü hava şartları, mekanik arızalar ve benzeri durumlarda çok karmaşık bir hale gelebilir ve çok hızlı çözüm gerektirir. Önceleri doğrusal programlama metoduyla çözülmeye çalışılan işlem, gerçek zamanlı probleme yeterince cevap veremediğinden, aynı sistem daha sonra mantıksal programlama dilleri kullanılarak bir PC üzerinde çalışacak şekilde hazırlandı. Sistem TWA’in uçuşlarla ilgili veritabanına doğrudan erişerek, günde 100’den fazla uçuşa yönelik pist tayinini yaklaşık 30 saniye gibi kısa bir zamanda yapmaktadır. Aynı iş, daha önce uzman bir insan tarafından yaklaşık 10-15 saatte hazırlanıyor ve günlük değişiklikler için yaklaşık 1 saat vakit harcanıyordu.

4.2.2 HESS: Petrokimya Sanayisi İçin Uzman Sistem Planlama

HESS, büyük bir petrokimya firmasının rafinerisinde üretilen ürünlerin planlanması için Houston Üniversitesi’nde geliştirilen bir Uzman Sistemdir. Sistemde kullanılan bilgi tabanı, firmanın rafinerisinde çalışan iki planlama uzmanının bilgisine başvurularak hazırlanan buluşsal kurallardan oluşmaktadır. Bu uzmanların görevi, hangi ürün veya ürünlerin hangi zamanda ve hangi süreçlerde üretileceğine karar vermekti. Uzmanların performansı, üretim maliyeti, imalat hataları ve kaybedilen müşteri satışlarına göre değerlendiriliyordu.

Yaklaşık 12 ayda hazırlanan ve PC üzerinde çalışan HESS, üretimle ilgili 400 kadar kural içeriyordu. Sistem, daha önce uzman insanlar tarafından yapılan planlama işini çok daha tutarlı bir şekilde yapmaktadır. Rafineride çalışan personelin ifadelerine göre, böyle bir sistemin hazırlanması ve kullanılmasıyla elde edilen yıllık kazanç milyon doları bulmaktadır. Sistem, firmanın veritabanına erişebilecek şekilde yeniden tasarlanmıştır.

4.2.3 DustPro: Maden Ocağı Güvenliği Uzman Sistemi

ABD Maden Ocakları Bürosu tarafından geliştirilen DustPro, madencilik işlerinde hava kalite kontrolü yapabilen sınırlı sayıdaki uzmanın yerine kullanılmak üzere hazırlanmıştır. Madencilik operasyonlarındaki güvenlik şartları, havadaki kömür ve silis miktarına dayanarak düzenlenmektedir. ABD’de yaklaşık 200 maden ocağı bulunduğu dikkate alınırsa, her bir maden ocağında bir kişi olmak üzere, sürekli gözetim yapması gereken 200 uzmana ihtiyaç olduğu açıktır. Metan gazı emisyonu ve toz izleme sistemleri ile ortak çalışan DustPro, yaklaşık 15 dakikada sonuca ulaşmaktadır. Bilgi tabanı yaklaşık 200 kuraldan oluşan DustPro, dünyadaki pek çok maden ocağında kullanılmaktadır.

4.2.4 TOP SECRET: Güvenlik Sınıflandırma Uzman Sistemi

ABD Enerji Bakanlığında, nükleer silah sistemleri güvenlik verilerine erişmek için yaklaşık 100 kadar sınıflandırma mevcuttur. Bakanlık bünyesindeki zahmetli işlerden biri, bir belgenin bu sınıflandırma kriterleri doğrultusunda doğru biçimde sınıflandırılmasıdır. Bu sınıflandırmada yapılan şey, bir belgeyi kimin görebileceği veya göremeyeceğine karar vermektir. Oluşturulan bilgi tabanında, bu güvenlik sınıflandırmalarına dayanarak hazırlanan kurallar bulunmaktadır. Sistem belgeleri güvenlik derecelerine göre sınıflandırmakta ve daha önce bu işi yapan pe
rsonelin yükünü oldukça hafifletmektedir.

4.2.5 Codecheck: Bilgisayar Programı Değerlendirme Uzman Sistemi

Abraxas Yazılım şirketi tarafından hazırlanan bu Uzman Sistemin temel fonksiyonu, C dili ile hazırlanan programların değerlendirilmesidir. Kural-tabanlı bir Uzman Sistem olan Codecheck’in yaptığı değerlendirme neticesinde program içerisinde karmaşık olan bölümler, biçimleme, standartlara uygunluk tespit edilmektedir. Böylece programın sonradan bakımı kolaylaşmakta ve program başka ortamlara taşınabilmektedir. Yani hazırlanan bir programın örneğin DOS,OS/2,UNIX,VMS vs. gibi sistemlerde de rahatlıkla çalışabilmesi sağlanmaktadır. [6]

5. Sonuç

Günümüzde Uzman Sistemler birçok alanda kullanılmaktadır ve farklı alanlar için yeni Uzman Sistemler geliştirilmektedir. İlk üretilen Uzman Sistemlerde bilgi tabanı kavramı yoktu. Dolayısıyla oluşturulan bir Uzman Sistemi farklı alanlarda kullanım için değiştirmek olanaksızdı. Fakat günümüzde teknolojinin ilerlemesi ile, oluşturulan bir Uzman Sistemin bilgi tabanını ve kuralarını değiştirerek farklı alanlarda bu sistemleri kullanabilir hale geldik.

Uzman Sistemlerde bilgi tabanından başka diğer önemli bir kavram kabuklardır. Gelecekteki kabuklar, sistem geliştirenlere sonuç mekanizmalarını farklı tipteki programların içine yerleştirmelerine olanak sağlayacaktır. Yerleştirilebilen bu mekanizmalar birçok etkileyici gelişimleri de beraberlerinde getireceklerdir. Örneğin kelime işlemciler bizim yazdığımız paragrafın ana fikrini anlayabilecekler ve bizim yazdığımızı daha güzel ifade edebilecekler. Veritabanları bize gerekli olan bilgiyi bulmamızda bize yardımcı olacaklar ve ek bilgi isteyip istemediğimizi bize soracaklar. Excel gibi programlar tasarılarımızda kullanmamız gereken modeller hakkında bize öneride bulunabilecekler ve bunu bizim için yapabilecekler. Bu örneklerin sınırı bizim bilgi tabanımız ve çıkarım mekanizmamızla sınırlıdır.

Posted in Genel.

Bir cevap yazın