Upload
howell
View
94
Download
2
Embed Size (px)
DESCRIPTION
Uzman Sistemleri. Konular. Bilgi Bilgi Edinme Uzman Sistemlerinin geliştirilmesi Kurallar ve Bilginin tasviri Kural Tabanlı Uzman Sistemleri Uzman Sistemlerinin nitelikleri. Bilgi Nedir?. - PowerPoint PPT Presentation
Citation preview
Uzman SistemleriUzman Sistemleri
KonularKonular• Bilgi
• Bilgi Edinme
• Uzman Sistemlerinin geliştirilmesi
• Kurallar ve Bilginin tasviri
• Kural Tabanlı Uzman Sistemleri
• Uzman Sistemlerinin nitelikleri
Bilgi Nedir?Bilgi Nedir?• Bilgi (Knowledge) özne veya alanın teori ve pratik
anlaşılmasıdır. Bilgi aynı zamanda güncel bilinenlerin toplusudur
• Bilgi güçtür
• Alanında çok iyi bilgi ve deneyime sahip olan kişiye uzman (expert) denir
• Her hangi bir alanda derin bilgisi (olgular ve kurallar) ve ciddi pratik deneğimi olan her kez alan uzmanı sayıla biler. Alanın kapsamı sınırlı ola bilir.
• Genelde, uzman başka kişilerin düşüne bilmediklerini de düşüne bilme,anlaya bilme yeteneği bulunan bir insandır
Bilgi EdinmeBilgi Edinme• Bilgi edinme bir yöntemdir ki, bununla bilgi mühendisi
bilgileri alıyor,çıkarıyor (esasen uzmanlardan, ama kitaplardan , teknik talimatlardan ,araştırma makalelerinden ve diğer kayda değer kaynaklardan da ). Bu bilgiler makine ve insan tarafından anlaşıla bilen bilgi tabanına (dönüştürülerek) aktarılır.
• Bilgi edinmesi ile meşgul olan kişi bilgi mühendisidir ve edinen bilgileri bilgisayarın kullana bileceği elektronik biçime dönüştürmelidir.
Bilgi edinme (devamı)Bilgi edinme (devamı)
Bilginin önemli özellikleri: • deneysellik;-tecrübe ile kazanılır
• tanımsallık; - kesin tanımlana,belirlene bilmelidir
• niteliksellik; - niteliği ve değeri ile farklıdır
• Belgelendirilmelidir- diğerleri tarafından da kabul edilebilirliği için
• Bazı alanlar için bu özelliklerin hepsi,bazıları için ise bir kaçı geçerlidir
• Bilgi edinme çok emek ve zaman gerektiren süreçtir
• Bilgi tabanlı sistemler için bilgiler elle oluşturulur ki, bu da sistemlerin hızla geliştirilmesini sınırlandırıyor
Bilgi mühendisi bu bilgileri etkili ve yararlı biçimde çıkarmak ve belgelemek için özel yöntemler buluyor.
Uzman sistemlerini geliştirme grubuUzman sistemlerini geliştirme grubu– Alan uzmanı
– Bilgi mühendisi
– Programcı
– Proje Yöneticisi
– Son kullanıcı
• Uzman sisteminin başarısı büyük ölçüde bu gruptaki üyelerin birlikte nasıl çalışacağına bağlıdır
Uzman Sistemleri Geliştirme Grubu (devamı)Uzman Sistemleri Geliştirme Grubu (devamı)
Uzman Sistemi
Son-Kullanıcı
Bilgi Mühendisi Programcı Alan Uzmanı
Proje Yöneticisi
Uzman Sistemi Geliştirme Grubu
Alan UzmanıAlan Uzmanı• Alan uzmanı özgül alanda sorunları çözme yeteneği
bulunan bilgili ve başarılı insandır.
• Uzmanın kendi alanında büyük deneyimi vardır.
• Uzman aşağıdakileri yapa bilmelidir:– Bilgilerini aktara bilmelidir;
– Uzman sistemi geliştirilmesinde istekli olmalıdır
– Projeye önemli zaman ayırmalıdır.
• Alan uzmanı, uzman sistemlerini geliştirme grubunda en önemli kişidir
Bilgi MühendisiBilgi Mühendisi• Bilgi Mühendisi uzman sistemini tasarlaya,geliştire ve
deneye bilen kişidir
• Bilgi Mühendisinin görevleri:– Somut bir sorunun çözüm yolunun bulunması için alan uzmanı ile
konuşmak– Uzmanın olguları ve kuralları kullandığı zaman hangi muhakeme
yöntemlerine dayandığını anlamak ve bu muhakemelerin uzman sisteminde nasıl ifade edile bileceğine karar vermek
– Yazılım geliştirmek veya uzman sistemi kabuğu (expert system shell) seçmek veya bilgileri ifade etmek için hangi programlama araçlarının kullanıla bileceğini araştırmak
– uzman sisteminin denenmesi, gözden geçirilmesi ve iş ortamına bütünleşmesinde sorumluluk taşımak
ProgramProgramcıcı• Programcı alan bilgilerinin ,bilgisayarın anlayacağı dilde
ifade etmek için programlar yazmakta sorumludur.
• Programcı mantıksal programlama dillerinden birisini bilmelidir ve kabuk sistemlerin geliştirilmesinde belirli bir deneyimi bulunmalıdır.
• Programcının yordamsal dilleri de bilmesi gereklidir
ProjeProje Yöneticisi Yöneticisi• Proje Yöneticisi uzman sistemi geliştirme grubunun
başkanıdır ve projenin plan üzere geliştirilmesinde sorumludur.
• Proje yöneticisi proje için gerekli olan tüm araçların alınmasında, sorunların giderilmesinde, uzmanla, bilgi mühendisi,programcı ve son kullanıcı ile etkileşimlerin gerçekleştirilmesinde sorumludur
Son KullanıcıSon Kullanıcı• Son kullanıcı (kısaca kullanıcı) uzman sistemini kullanan
kişidir
• Kullanıcı uzman sistemini kendinden emin biçimde kullana bilmelidir. Sistemin kullanışı onun için kolay olmalıdır.
• Bu anlamda uzman sistemleri için kullanıcı arayüzünün tasarımı da çok önemli etkendir. Bu yönde son kullanıcının proje geliştirmeye önemli katkısı ola bilir.
Uzman sistemi kabuğuUzman sistemi kabuğu• Uzman sistemlerinin başlıca özelliklerinden birisi, dar alan
bilgilerinin, genel çıkarım mekanizmalarından ve bilgileri ifade yöntemlerinden ayrı tutulmasıdır. Genel yapısı olan ve alan bilgileri bulunmayan sisteme uzman sistemi kabuğu (shell) denir. Kabukların kullanılması US geliştirilmesi sürecini kolaylaştırır.
Kural Tabanlı Uzman SistemleriKural Tabanlı Uzman Sistemleri
• 70.ci yılların başlarında Carnegie-Mellon University Üniversitesinden Newell ve Simon üretim sistemi ( production system) modelini önerdiler ki, bu da çağdaş kural tabanlı uzman sistemlerinin temelini oluşturuyor
• Üretim modeli, insanın sorunları çözmek için uygun alandaki bilgileri eğer- o zaman biçiminde ifade etmesi düşüncesine dayanıyor
• Üretim kuralları uzun süreli bellekte tutuluyor ve soruna özgü bilgiler veya olgular kısa bellekte yer alıyor
Bilgi ve KurallarBilgi ve Kurallar• İnsanın düşünme süreci çok karmaşıktır ve onu
algoritmalarla ifade etmek zordur. Ama pek çok sorunun çözümü için bilgileri kurallarla ifade etmek mümkündür:
IF “trafik ışığı” yeşil
THEN harekete devam et
IF “trafik ışığı” kırmız
THEN hareketi durdur
Kurallarla bilginin tasviriKurallarla bilginin tasviri• Kurallar IF-THEN yapısı ile ifade edile bilir ve IF
kısmında verilmiş bilgi ve olgular, THEN kısmında hareket (yapılması gereken) gösteriliyor
• Kural sorunun nasıl çözüleceğini gösteriyor. Kuralların anlaşılması ve oluşturulması kolaydır.
• Her bir kural 2 kısımdan oluşuyor:– IF kısmı (ön,sebep,koşul- (antecedent- (premise , condition)
– THEN kısmı (sonuç,hareket- consequent (conclusion , action).
Kurallarla bilginin tasviri (devamı)Kurallarla bilginin tasviri (devamı)• Bir kuralın IF kısmında mantık işlemleri ile birleştirilmiş
birkaç koşul ola biliyor.
IF <koşul 1> IF <koşul1>
AND <koşul 2> OR <koşul2>
. .
. .
. .
AND <koşul n> OR <koşul n>
THEN <sonuçt> THEN <sonuç>
Kurallarla bilginin tasviri (devamı)Kurallarla bilginin tasviri (devamı)
• Kuralın solu iki kısımdan oluşuyor: nesne ve onun değeri. Nesne ve değeri işlemle ilişkilendiriliyorlar.
• İşlem (operator) nesneye değer atıyor.işlemler dilsel ve matematiksel ifadeler ola bilir.
NESNE İŞLEM DEĞER
IF ‘müşterinin yaşı’ < 18
AND ‘çekilen para’ > 1000
THEN ‘ebeveynin imzası’
gerekiyor
Kurallarla Bilginin tasviri( devamı)Kurallarla Bilginin tasviri( devamı)• Kurallar ilişkileri, tavsiyeleri, yönergeleri,stratejileri ve sezgiselliyi … ifade etmek içindir:• ilişki
IF “yakıt deposu” boşturTHEN motor çalışmaz
• TavsiyeIF güz mevsimidirAND hava bulutludurAND yağmur bekleniyorTHEN ‘şemsiye almak’ tavsiye olunur
• YönergeIF motor çalışmıyorAND ‘yakıt deposu’ boşturTHEN yakıt deposunu doldurmalı
• StratejiIF motor çalışmıyorTHEN ‘yakıt deposunu’ kontrol etmeli;
adım1 tamamlandı
IF adım 1 bitmiştirAND ‘yakıt deposu’ doludurTHEN ‘akü’yü kontrol etmeli;
adım2 tamamlandı
Kural Tabanlı Uzman SistemiKural Tabanlı Uzman Sistemi
Çıkarım Bloğu
Bilgi Tabanı
Kural: IF-THEN
VeriTabanı
Olgu
Açıklama Bloğu
Kullanıcı arayüzü
Kullanıcı
Kural Tabanlı Uzman Sistemlerinin yapısıKural Tabanlı Uzman Sistemlerinin yapısı
• Bilgi tabanı (knowledge base) sorunların çözümü için yararlı olacak bilgileri içeriyor. Kural tabanlı uzman sistemlerinde bilgiler, kurallar kümesi ile ifade ediliyor. Kuralın koşul kısmı sağlanırsa, kural tetiklenecek ve kuralın hareket kısmı yürütülecek.
• Veri Tabanı (database) bilgi tabanındaki kuralların koşul kısmında kullanılan veri kümelerini içeriyor.
Kural Tabanlı Uzman Sistemlerinin yapısı Kural Tabanlı Uzman Sistemlerinin yapısı (devamı)(devamı)
• Çıkarım birimi (inference engine) çözüm almayı gerçekleştiriyor, ki bunun sayesinde de uzman sistemi karara ulaşıyor. Çıkarım birimi bilgi tabanındaki kurallarla veri tabanındaki verileri ilişkilendiriyor.
• Açıklama birimi (The explanation facilitie) kullanıcının, her hangi sorunun çözümüne nasıl ulaştığı, bu veya diğer olguları,kuralları neden kullandığı hakkında uzman sisteminden bilgi almasını sağlar. Uzman sistemi karara nasıl vardığını açıklaya bilmeli, tavsiyelerini, çözümleme ve sonuçları savuna bilmelidir.
• Kullanıcı arayüzü (user interface) soruna çözüm arayan kullanıcı ve uzman sistemi arasında iletişim aracıdır..
Kural Tabanlı Uzman sistemi (genel yapı)Kural Tabanlı Uzman sistemi (genel yapı)
kullanıcı
Dış VT Dış Programlar
Çıkarım birimi
Bilgi Tabanı
kural: IF-THEN
VT
Olgu
Açıklama modülü
Kullanıcı Arayüzü geliştirme arayüzü
Uzman Sistemi
uzman
Bilgi mühendisi
Uzman sistemlerinin özellikleriUzman sistemlerinin özellikleri
• Uzman sistemleri, dar, ihtisaslaşmış bir alanda insan-uzmanın davranışlarını, mantığını çalıştırmak içindir.Bu bakımdan uzman sistemlerinin en önemli özelliği yüksek nitelikli başarımıdır.
• Sistemin soruyu her ne kadar hızlı çözmüş olsa da, sonuçlar yanlış olduğu zaman kullanıcıyı tatmin etmez.
• Öte yandan, çözüme ulaşma hızı da önemlidir. En kesin çözüm veya tanı da ,uygulamaya geç koyulduğunda hiçbir anlam taşımaz.
Uzman Sistemlerinin özellikleri (devamı)Uzman Sistemlerinin özellikleri (devamı)
• Uzman sistemleri sonuca ulaşmak için sezgisellik kullanıyor ve bununla da çözüm alanını küçültmüş oluyorlar.
• Uzman sistemlerinin eşsiz özelliği açıklama yeteneğinin bulunmasıdır. Bu yetenek, uzman sistemine sonuca ulaşma yolunu özetlemek ve çözüm kararını açıklamak imkanı veriyor.
Uzman Sistemlerinin özellikleri (devamı)Uzman Sistemlerinin özellikleri (devamı)
• Uzmanlar da her bir insan gibi hata yapa bilir ve bu sebepten, uzman sistemlerinin hata yapmalarına “müsaide” edile bilir.
• Uzman sistemlerinde bilgilerin tanımlanması ve işlenmesi ayrı yapılmaktadır (bilgi tabanı ve çıkarım birimi). Geleneksel programlar ise bilgi ve bu bilgiyi işlemek için gereken kontrol bir yerdedir.
• Uzman sistemi kabuğu (shell) kullanılıyorsa, uzman veya bilgi mühendisi sadece kuralları bilgi tabanına dahil ediyor. Her bir kural yeni bilgilerle uzman sistemini zenginleştirerek daha akıllı yapar.
Uzmanlar, Uzman sistemleri ve ProgramlarUzmanlar, Uzman sistemleri ve Programlar
Uzmanlar, Uzman sistemleri ve ProgramlarUzmanlar, Uzman sistemleri ve Programlar
olmadığı
http://www.lpa.co.uk/wfs_dem.htm
Kaynağından basit uzman sistemlerini çalıştıra ve kaynak kodlarına erişe bilersiniz