Yapay Zeka ve Uzman Sistemler Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr
Hedefler Uzman Sistem Nedir ? Uzman Sistemlerin Tarihçesi Uzman Sistemlerin Avantajları Uzman Sistemlerin Dezavantajları Uzman Sistemlerin Yapısı
Uzman Sistem(US) Nedir ? Uzman kimdir? Yaşanılan olayın çözümünü geçmiş tecrübeleriyle çözmeye çalışan kişidir. Uzmanın çalışma prensibi Önceki örnekteki çözüm yolunu AYNEN UYGULAR Yeni bir olayla karşılaştığında; Önceki örnekteki çözüm yolunu dener ve uygulama sonuçlarına göre değerlendirme yapar.
Uzman Sistem(US) Nedir ? Yapay Zeka kuramlarının insanı taklit etmesinden farklı olarak ‘sadece UZMANI taklit eder.’ YAPAY ZEKA Herhangi bir insanın çözdüğü problemi çözmek için tasarlanır. UZMAN SISTEM Uzman insanın çözdüğü problemi çözmek için tasarlanır.
Uzman Sistem(US) Nedir ? Algoritma yerine daha çok bilgi kullanır. Çıkarım mekanizması tecrübeye bağlı metotla çıkarılmış kurallardır. Geleneksel Programlar ==> Algoritma + Veritabanı Uzman Sistemler ==> Çıkarım Mekanizması + Veritabanı
Uzman Sistem(US) Nedir ? Uzman Sistemler, tıpkı insan uzmanlarda olduğu gibi, bilginin veri haline getirilerek soruna uygulandığı bilgisayar bütünleşik bilgi sistemleridir. Uzman sistemler, işletmelerin en yaygın olarak kullandıkları yazılımlardır.
Uzman Sistem(US) Nedir ? Uzman Sistem (Expert System) nedir? Uzman Sistem, belirli bir konuda uzman bir kişinin yapabildiği düşünme ve karar verme işlemlerini modelleyen yazılım sistemidir. Kullanıcılarına, uzmanların (experts) bilgi (knowledge) ve muhakeme yeteneklerine ulaşma ve bu yeteneklerden faydalanma olanağı veren bir bilgisayar paketidir(Samways ve Byrne-Jones,1991). Kısaca : Problemlere uzman bir kişinin getirdiği şekilde çözümler getirebilen bilgisayar programlarıdır.
Uzman Sistemlerin Tarihçesi US’in Ortaya Çıkışı Kural tabanlı, sonuçları insanlarca kolay anlaşılabilen kısıtlı alanlarda uzmanlık görevi gören sistemlere ihtiyaç duyulmasıyla ortaya çıktı. İnsanların tamamen yerini alabilecek programlar üretmek yerine uygun problemlere YZ tekniklerini uygulayacak ve insanları destekleyen programlar hedef alındı.
Uzman Sistemlerin Tarihçesi Çok Bilinen Uzman Sistemler MYCIN : Tıp alanında, bakteriyolojik ve menenjitik hastalıkların tedavisine yönelik bir sistem PUFF : Teşhis koyan medikal sistem PROSPECTOR: Kazı ve madencilik yapılabilecek alanları tespit eden sistem DENDRAL (Molekül yapılarının belirlenmesi). SECS (kimyasal analizler için) XCON (bilgisayar sistemlerinin konfigürasyonunu belirlemek için)
US’in Uygulama Alanları Tıp ve Askerlik Mühendislik ve CAD Endüstri (Üretim hatalarının ve arızaların belirlenmesi) İş ve Süreç Planlama Ekonomik Analizler
US’in Uygulama Alanları Yatırım danışmanlığı, menkul değerler alım ve satım kararları, Hastalıklara tanı koyma ve hastalara reçete yazma, İşletme yönetiminde planlama, programlama ve zamanlama yapma, İşletme, mühendislik, eczacılık, hukuk ve muhasebecilik danışmanlığı ve öğretimi, Yapı tasarımı, yapı planlaması, yapı denetimi ve iç mimari, Bilgisayar tasarımı, Ürün maliyetlerini bulma.
US’in Tasarlanması Süreci US’in tasarlanması sürecinde takip edilecek adımlar: Sistemin Çözeceği Problemin belirlenmesi Gereken uzmanların bulunması ve ondan bilgi edinilmesi Sistemin analizi ve tasarımı Bir prototipin oluşturulması Uygulama ve test aşaması
US’in Tasarlanması Süreci US’in tasarlanması sürecinde takip edilecek adımlar: Sistemin Çözeceği Problemin belirlenmesi Gereken uzmanların bulunması ve ondan bilgi edinilmesi Sistemin analizi ve tasarımı Bir prototipin oluşturulması Uygulama ve test aşaması
US’in Türleri Uzman Sistemler bilgi tabanına göre 2 ye ayrılır. STATİK US: Statik uzman sistemlerin bilgi tabanı US’in çalışması boyunca değişmemektedir. DİNAMİK US: Dinamik uzman sistemlerin bilgi tabanı US’in çalışması boyunca değişebilir. Kullanılan US’in çoğu Statik US’dir. Dinamik US tasarlanması çok daha zordur.
US’in Avantajları Maliyet azalması: Uzman sistem kullanımı ile karşılaştırıldığında insanların incelemeleri daha pahalı görülmektedir. 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. Kalite iyileştirmesi: Uzman sistemler tutarlı ve uygun nasihatler vererek ve hata oranını düşüre- rek kalitenin iyileştirilmesini temin ederler. İşleyis hatalarını azaltma: Bir çok uzman sistem hatalı işlemleri tespit etmek ve onarım için tavsi- yelerde bulunması için kullanılır. Uzman sistem ile bozulma sürelerinde önemli bir azalmanın sağlanması mümkündür.
US’in Avantajları Esneklik: Uzman sistemlerin kullanımı üretim aşaması ve servis sunulması sırasında esneklik sağlar. 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. Tehlikeli çevrelerde işlem: Bazı insanlar tehlikeli çevrelerde çalışırlar. Uzman sistemler ise insanların tehlikeli çevrelerin dışında kalmasına imkan sağlar. 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ıl- madan dikkatlice gözden geçirir. Cevap verme süresi: Uzman sistemler, özellikle verilerin büyük bir kısmının gözden geçirilmesi gerektiğinde bir insandan çok daha hızlı cevap verecektir.
US’in Avantajları 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ıra- sında sistemin bir sorusuna kullanıcı “bilmiyorum” veya “emin değilim” şeklinde bir cevap verdiğinde, uzman sistem kesin olmasa bile bir cevap üretebilecektir. Eğitim: Uzman sistemin açıklayabilme özelliği bir öğretim cihazı gibi kullanılarak eğitim sağlanabilir.
US’in Avantajları Problem çözme kabiliyeti: Uzman sistemler, uzmanların yargılarını bütünlemeye imkan sağla- yarak 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. Sınırlı bir sahada karışık problemlerin çözümü: Uzman sistemler insan yeteneklerini aşan karışık problemlerin çözümünde kullanılabilir.
US’in Dezavantajları Uzmanlık Bilgisinin Olmayışı: Günümüz koşullarında her alanda yeterli miktarda uzman bulamamak ve bulunsa dahi zaman ayıramamaktadır. Uzmanlardan Bilgi Edilmesindeki Güçlükler: Kimi uzmanlar bildiklerini aktaramamaktadır. Bir uzman sistem tasarlamanın başlıca problemlerindendir. Bazı uzmanlar ise yeni teknolojiye ayak uydurmak istemeyip bilgi paylaşımından kaçınmaktadır. Aynı Konuya Uzmanların Farklı Bakış Açıları: Uygulanacak alana göre değişiklik göstermekle birlikte her uzmanın kendi benimsediği ve doğru olduğu bilgilerde tutarsızlık meydana gelebilir. Kimi durumlarda daha ekonomik veya daha doğru bir bilgi sunabilir. oluşturulmuş olan uzman sistemde dinamik bir alt yapı oluşturulursa bu sorunun üzerinden gelinebilme imkanı olabilir.
US’in Dezavantajları Dar Alana Yönelik Olması: Uzman sistemlerin çok dar bir alana hitap etmesi ve bunun sonucunda dışarı çıkılma gerçekleştiği zaman sistemin çalışmasında problemler meydana gelmesi anlamındadır. Örneğin her konuda bir uzman olduğu, bir uzmanın birden çok uzmanlık dalının bulunmadığı bulunsa da çok az sayıda olmasından dolayı alanları genişletilmeye başlatılırsa sistemde karışıklıklar başlayacaktır. Üst Düzey Yöneticilerin Tutuculuğu: Yeni teknolojiye şüpheci yaklaşım ve maliyet pahalılığı tüm yöneticileri düşündürmektedir. Aynı işi yapabilecek bir insan varken böyle bir bilgisayar programına maliyet ayıramamaktadırlar.
US’in Dezavantajları Uzmanların Objektif ve Bağımsız Denetim Mekanizmaların Olmayışı: Uzmanların bir çoğu kendi geliştirdikleri, kişisel yöntemlerini kullanmaktadırlar. Bunları açıklayamamaları ve ister istemez objektif bir anlatıma sahip olamamalarından gelmektedir. Ortak Terminoloji Olmayışı: Çeşitli kullanılan kavramların kişiden kişiye değişerek farklı anlamlar kazanması ve sözlük anlamı ile gerçek anlamının birbirinden farklı oluşu yüzünden doğan karışıklıklardır.
US’in Dezavantajları Maliyet Yüksekliği ve Zaman Fazlalığı: Uzman sistem tasarlanmasının yüksek maliyetli olduğu düşünülmelidir. Bilgi Mühendisi, Uzman ve Programcı ile ortalama 3-5 yıl arasında değişen sistemlerin maliyetleri göz önüne alınmalıdır. Yaratıcılık:Normal durumları dışında alışılagelmemiş bir olay karşısında uzman insanın yaratıcılığı ile yeni bir çözüm üretebilirken uzman sistem bunu yapamamaktadır. Öğrenme: Uzman bir insanın öğrenme yeteneği çok kolay iken, dinamik yani öğrenebilen bir uzman sistem tasarlamak başlı başına bir problem teşkil eder.
US ve diğer YZ algoritmaları US’ lerin diğer YZ algoritmalarıyla birlikte kullanılabilmesi dezavantajlarını azaltır mı?
US’in Çeşitleri Çevirme (interpretation) sistemleri Bu sistemler gözlemlerden durum tahmini çıkartırlar. Bu kategoriye keşif, konuşma, anlama, görüntü analizi, sinyal anlama gibi entelektüel analizlerin herhangi biri girebilir. Gözlenen verilere sembolik anlamlar verilerek işlemler yapılır. Tahmin (prediction) sistemleri Bu sistemler; hava tahminleri, trafik, nüfus tahminleri, tahıl üretim tahmin hesapları, ve askeri alanlarda tahminler yapar. Tahmin sistemi parametrik dinamik model kullanır. Bu modelde parametre değerler, verilen duruma göre değişir. Modelden elde edilen sonuçlar tahmin için esas teşkil eder.
US’in Çeşitleri Tanı (diagnosis) sistemleri Gözlemlerden bozuklukları bulan sistemlerdir. Tıbbi, elektronik, mekanik ve yazılım tanıları bu sınıfa girer. Tanı sistemleri gözlenen mekanik bozuklukların altında yatan nedenleri bulmak ile ilgilidir. Bu amaçla iki teknikten biri kullanılır. a) Davranış ve tanı arasındaki bağıntılara dayanan tablolar kullanılır. b) Gözlemlerle,bozukluğa neden olma olasılığı olan tasarım, yapım yada bileşenlerdeki olası hata bilgileriyle sistem tasarımı bilgilerini kombine eder. Tasarlama (design) sistemleri: Tasarlama sistemi, tasarlama kanıtlamalarını sağlayan nesne konfi- gürasyonlarını geliştirir. Bu sistem; devre planları, bina tasarımı ve bütçe gibi konulara uygulanmıştır. Tasarlama sistemleri nesnelerin birbiriyle çeşitli ilişkilerinin tanımını yapar. Ayrıca maliyet ve istenme- yen özellikleri ölçen amacı fonksiyonunu minimize etmeye çalışır.
US’in Çeşitleri Planlama sistemleri Bu sistemler, fonksiyona sahip nesnelerin, tasarım problemleri üzerinde özelleşmişlerdir. Bunlar otomatik programlama, robotlar, projeler, yol, iletişim, deney ve askeri planlama problemleriyle ilgilidir. Planlama sistemleri, planlanan eylemlerin etkilerini görmek için eylem modellerinden yararlanır. İzleme (monitoring sistemler) Bu sistemler, sistem davranışları gözlemleriyle, planlama sonuçlarının başarısı için, zorunlu görülen özellikleri karşılaştırır ve sistemin işleyişi konusunda bilgi verir.
US’in Geliştirilmesi Uzman Sistemlerin geliştirilmesinde kullanılan 3 temel araç: Uzman Sistem Kabukları (Expert system shells) Uzman Sistem Geliştirme Platformları (Expert system development environments) Programlama Dilleri (Programming languages)
US Kabukları Son zamanlarda uzman sistemlerin geliştirilmesinde uzman sistem kabuklarından “expert system shell” yaralanılmaktadır. Bu kabuklar, bir karar mekanizması, boş bir bilgi tabanı, kullanıcı-sistem arayüzü, bilgi mühendisinin kullanabileceği bir US geliştirme biriminden oluşur. Örnek: CLIPS, Leonardo ve Kappa.
US Geliştirme Platformları JESS
US Programlama dilleri PROLOG LISP
Yararlanılan Kaynaklar Samways, B. and Byrne-Jones, T.(1991) Computers: basic facts. Glasgow: Harper Collins Aybars Uğur, Yapay Zeka Ders Notları. Novruz Allahverdi, Uzman Sistemler bir yapay zeka uygulaması, Nobel Akademik Yayıncılık, 2002
Teşekkürler Sorular? Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr