29
Uzman Sistemleri Uzman Sistemleri

Uzman Sistemleri

  • 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

Page 1: Uzman Sistemleri

Uzman SistemleriUzman Sistemleri

Page 2: Uzman Sistemleri

KonularKonular• Bilgi

• Bilgi Edinme

• Uzman Sistemlerinin geliştirilmesi

• Kurallar ve Bilginin tasviri

• Kural Tabanlı Uzman Sistemleri

• Uzman Sistemlerinin nitelikleri

Page 3: Uzman Sistemleri

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

Page 4: Uzman Sistemleri

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.

Page 5: Uzman Sistemleri

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.

Page 6: Uzman Sistemleri

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

Page 7: Uzman Sistemleri

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

Page 8: Uzman Sistemleri

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

Page 9: Uzman Sistemleri

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

Page 10: Uzman Sistemleri

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

Page 11: Uzman Sistemleri

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

Page 12: Uzman Sistemleri

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.

Page 13: Uzman Sistemleri

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.

Page 14: Uzman Sistemleri

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

Page 15: Uzman Sistemleri

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

Page 16: Uzman Sistemleri

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).

Page 17: Uzman Sistemleri

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ç>

Page 18: Uzman Sistemleri

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

Page 19: Uzman Sistemleri

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ı

Page 20: Uzman Sistemleri

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ı

Page 21: Uzman Sistemleri

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.

Page 22: Uzman Sistemleri

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..

Page 23: Uzman Sistemleri

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

Page 24: Uzman Sistemleri

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.

Page 25: Uzman Sistemleri

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.

Page 26: Uzman Sistemleri

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.

Page 27: Uzman Sistemleri

Uzmanlar, Uzman sistemleri ve ProgramlarUzmanlar, Uzman sistemleri ve Programlar

Page 28: Uzman Sistemleri

Uzmanlar, Uzman sistemleri ve ProgramlarUzmanlar, Uzman sistemleri ve Programlar

olmadığı

Page 29: Uzman Sistemleri

http://www.lpa.co.uk/wfs_dem.htm

Kaynağından basit uzman sistemlerini çalıştıra ve kaynak kodlarına erişe bilersiniz