• Sonuç bulunamadı

YZM YAPAY ZEKA VE UZMAN SİSTEMLER DERS#3: UZMAN SİSTEMLER#2

N/A
N/A
Protected

Academic year: 2022

Share "YZM YAPAY ZEKA VE UZMAN SİSTEMLER DERS#3: UZMAN SİSTEMLER#2"

Copied!
35
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

YZM 5257- YAPAY ZEKA VE UZMAN SİSTEMLER

D ERS #3:

UZMAN SİSTEMLER#2

(2)

Bilgi - Veri

• Bilgi ve Veri arasındaki fark nedir?

(3)

Bilgi Türleri

Meta Bilgi Bilgi

Enformasyon Veri (İşçi Bilgiler)

Gürültü

Bilgi türlerinin hiyerarşik yapısı

Novruz Allahverdi, Uzman Sistemler bir yapay zeka uygulaması, Nobel Akademik Yayıncılık, 2002

(4)

Bilgi Mühendisliği

• Bilgi Mühendisliği (Knowledge Engineering) nedir?

• Uzmanla yapay sistem arasında arabulucuk yapan, uzmanın bilgilerini sisteme aktaran, bilgilerle uğraşan yöntem ve sistemleri oluşturan bir uzmanlık alanıdır.

• Knowledge Acquisition (Bilgiyi elde etmek)

• Bilgi mühendisi uzmanın problem ve onun çözümü hakkında görüşlerini kesin, tam ve zıt olmayan bir sisteme dönüştürmelidir.

(5)

Bilgi Tabanı

Bilgi tabanının oluşturlma süreci 3 aşamalıdır.

A. Disiplin alanının tanımlanması B. Bilginin elde edilmesi

C. Bilginin sunulması yöntemi ve modelinin seçilmesi Bilgi Tabanı neden önemli?

Bazen aynı dili konuşan insanlar bile birbirini anlayamaz.

(6)

Bilgi Tabanı

Bilgi tabanının oluşturulma süreci A. Disiplin alanının tanımlanması

1. Çözülen problemlerin karakterlerinin belirlenmesi 2. Disiplin alanının nesnelerinin seçilerek birbirnden

ayırt edilmesi

3. Nesneler arasındaki ilişkilerin tespit edilmesi 4. Bilginin sunulması modelinin seçilmesi

5. Disiplin alanının özel niteliklerinin meydana çıkarılması

(7)

Bilgi Tabanı

Bilgi tabanının oluşturulma süreci A. Disiplin alanının tanımlanması

Örnek:

• Displin Alanı : Tıp

• Uzmanlık: Koruyucu Hekim, Teşhisci Hekim

• Hastalık Çeşidi: boğaz enfeksiyonları

• Hastalığı etkileyen faktörler :Genetik, çevresel faktörler, beslenme…

• .

• .

• .

(8)

Bilgi Tabanı

Bilgi tabanının oluşturulma süreci B. Bilginin elde edilmesi

1. Söyleşi (mülakat) veya soru-cevap yöntemi 2. Gözlem veya izleme yöntemi

3. Anket yöntemi

4. Uzman ile birlikte çalışma

5. Protokol Analizi: Protokol analizi yöntemi birden fazla

uzman görüşü alınaarak yapılır. Aynı konunun uzmanı olsalar bile değişik sorunların çözümü için değişik fikir üretebilirler.

 Son yıllarda geliştirilen otomatik bilgi edinme (automatic knowledge acquisition) araçları da olumlu sonuçlar vermeye başlamıştır.

(9)

Bilgi Tabanı

Bilgi tabanının oluşturulma süreci

C. Bilginin sunulması yöntemi ve modelinin seçilmesi 1. Üretim modelleri (Production Models)

2. Bilgi Çerçeveleri (Frame) 3. Sahneler (Scene)

4. Anlamsal Ağlar (Semantic net)

5. Mantıksal Modeller (Logical Models) 6. Bulanık Bilgiler (Fuzzy net)

(10)

Bilgi Tabanı

Üretim modelleri (Production Models)

• Kural tabanlı uzman sistemlerde (Rule-based expert systems) kullanılan en yaygın yöntemdir.

• 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 HALDE biçiminde ifade etmesi düşüncesine dayanıyor

(11)

Kurallarla Bilgi 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) olarak gösteriliyor.

• Her bir kural 2 kısımdan oluşuyor:

1. IF kısmı (önerme ,koşul- (premise , condition)

2. THEN kısmı (hareket, sonuç- (action, conclusion).

(12)

Kurallarla Bilgi Tasviri

EĞER – O HALDE (IF - THEN) Kuralları

Üretim kuralları olarak da bilinen Eğer-O halde kuralları bilginin sunulması için en uygun yapıdır.

Kural: Işık

• Eğer

– ışık kırmızıdır

• O Halde

– Dur

(13)

Kurallarla Bilgi Tasviri

• Bir kuralın IF kısmında mantık işlemleri ile birleştirilmiş birkaç koşul olabilir.

• IF <koşul 1> IF <koşul1>

• AND <koşul 2> OR <koşul2>

… …

• AND <koşul n> OR <koşul n>

• THEN <sonuç> THEN <sonuç>

(14)

Kurallarla Bilgi Tasviri

• 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.İşlemler dilsel ve matematiksel ifadeler olabilir.

NESNE İŞLEM DEĞER

IF ‘müşterinin yaşı’ < 18

AND ‘çekilen para’ > 1000

THEN ‘ebeveynin imzası’

gerekiyor

(15)

Kurallarla Bilgi Tasviri

• Kurallar ilişkileri, tavsiyeleri, yönergeleri,stratejileri ve sezgiselliği … ifade etmek içindir:

İLİŞKİ

IF “yakıt deposu” boştur THEN motor çalışmaz

TAVSİYE

IF güz mevsimidir AND hava bulutludur AND yağmur bekleniyor

THEN ‘şemsiye almak’ tavsiye olunur STRATEJİ

IF motor çalışmıyor

THEN ‘yakıt deposunu’ kontrol et;

adım1 tamamlandı IF adım 1 bitmiştir

AND ‘yakıt deposu’ doludur THEN ‘akü’yü kontrol etmeli;

adım2 tamamlandı

YÖNERGE

IF motor çalışmıyor

AND ‘yakıt deposu’ boştur

THEN yakıt deposunu doldurmalı

(16)

Kurallarla Bilgi Tasviri

EĞER – O HALDE (IF - THEN) Kuralları Örnek: MYCIN US’nden bir örnek kural Eğer

1. Enfeksiyon primier bacteremia ve 2. Steril alanlardan birinde kültür ve

3. Tahmin edilen protelin organizma girişi gartintestinal trakt ise

O Halde

• Organizmanın baktoriodes olduğuna dair delil (0.7) mevcuttur.

(17)

Geri Zincirleme

A. Geriye Doğru Akıl Yürütme

Önceden bir hipotezin (H) gerçek olduğu varsayılır ve bu hipotezi kanıtlayacak deliller(D1, D2, D3) aranır.

Örn: EMYCIN(EmptyMYCIN)

D1 D2 H

D3

(18)

İleri Zincirleme

A. İleriye Doğru Akıl Yürütme

D1 delili kanıtlanırsa D2 sorgulanır, D2 kanıtlanırsa D3 sorgulanır.

Örn: CLIPS, OPS5

D1 D2 D3 H

(19)

Geri - İleri Zincirleme

İLERİ ZİNCİRLEME GERİ ZİNCİRLEME

If motor çok ısınmışsa Then motor durur IF motor durursa

THEN eve geç dönülür

If araba çalışmıyorsa AND akü bitmişse

THEN marş motoruna elektrik gelmemektedir

IF marş motoruna elektrik gelmiyorsa THEN araba hareket etmez

Arabanın çalışmadığını varsayalım. Bu yüzden arabanın çalışmaması koşullarını belirlemek gerekir. İleriye doğru akıl yürütmede bu koşullar bellidir (Motor hararet

yapmıştır). Fakat bu koşulların getireceği sonuçlar belli değildir. Problem mümkün olacak sonucu tahmin etmektedir. Geriye doğru akıl yürütmede ise sonuç bellidir ve bu sonucu oluşturan nedenlerin bulunması gereklidir.

(20)

US’in Geliştirilmesi

Uzman Sistemlerin geliştirilmesinde çalışma grubu:

• Alan uzmanı

• Bilgi mühendisi

• Programcı

• Proje Yöneticisi

• Son kullanıcı

(21)

US’in Geliştirilmesi

Alan uzmanı

• 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

(22)

US’in Geliştirilmesi

Bilgi mühendisi

• 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

(23)

US’in Geliştirilmesi

Programcı

• 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

(24)

US’in Geliştirilmesi

Proje 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

(25)

US’in Geliştirilmesi

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.

(26)

US’in Geliştirilmesi

(27)

US’in Geliştirilmesi

Uzman Sistemlerin geliştirilmesinde kullanılan 3 temel araç:

1. Programlama Dilleri (Programming languages) 2. Uzman Sistem Kabukları (Expert system shells) 3. Uzman Sistem Geliştirme Platformları (Expert

system development environments)

(28)

US Programlama Dilleri

LISP

PROLOG

(29)

US Programlama Dilleri

LISP (List Programming)

YZ problemlerinin çözümünde yaygın kullanılan mantıksal programlama dilidir. Fonksiyonel

programlama işlemleri de yapılmaktadır.

Listeler üzerinde işlem yapmak için önerilmiştir.

(30)

US Programlama Dilleri

• PROLOG (PROgramming in LOGic )

• Mantıksal programlama dilidir.

(31)

US Kabukları

US Kabuğu nedir?

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.

KISACA:US kabuğu bilgi tabanı boş olan bir uzman sistemdir.

(32)

US Kabukları

• Clips,

• Jess,

• Exsys,

• Vidwan,

• Knowledge Pro,

• K-Vision, Age,

• Emycin,

• KAS,

• Leonardo (?),

• Xi Plus,

• Savoir & XpertRule.

(33)

CLIPS

• C Language Integrated Production System (CLIPS)

• CLIPS en fazla kullanılan uzman sistem kabuklarından biridir.

• C programlama dilinde yazılmıştır.

• CLIPS NASA ‘nın Johnson Space Center adlı merkezinde 1984 yılında ortaya atıldı.

• Kural tabanlıdır.

• İleri zincirleme algoritması kullanır.

http://www.clipsrules.net/

• CLIPS‘in kullanıldığı uygulamalar: LIMEX, NRES, On-Line Nuclear Power Plant, FESTO, Expert Surgical Assistant etc.

(34)

EMYCIN

• Essential MYCIN (Empty MYCIN)

• Geri zincirleme kullanır.

• PROLOG tabanlıdır.

(35)

JESS

• Java Expert System Shell (JESS)

• İleri ve geri zincirleme kullanır.

• RETE algoritması kullanır.

• Java tabanlıdır.

• CLIPS sisteminin birçok özelliklerini taşır.

• CLIPS den daha yavaş çalışır.

Referanslar

Benzer Belgeler

§  Sistemi problemin çözümü için geliştirmek önemlidir, bu nedenle problemi sisteme uydurma çabası içinde olmamak gerekir.. Problemin formülasyonu ve bir prototip

Eğitimin kapanış konuşmasını yapan Strateji Geliştirme Başkanı Ahmet Açıkgöz de, Uzman ve Uzman Yardımcılarının üzerinde büyük bir yük olduğunu ifade ederek, “Tüm

Sonuç olarak, sıvı retansiyonu olan dekom- panse kalp yetersizliği bulunan hastalarda ultrafiltrasyon diüretiklere alternatif bir te- davi olmayıp, diüretiklere

IBM, Etkinlik 1 kapsamında belirlenmiş olan Watson Veri ve Yapay Zekâ Öğrenme oturumu için uygun ise, uygulamalı laboratuvar oturumları dahil olmak üzere dört (4)

COVID-19 enfeksiyonu sırasında kardiyak tutulumun gösterilmiş olması da göz önüne alınarak spora katılım öncesi sağlık değerlendirmeleri için ayrıntılı bir

Bu kapsamda, sporcuların, antrenörlerin ve yöneticilerin dopingin zararları ve sporda yarattığı ahlaki problemlere dair sürekli bir eğitimden geçmeleri;

Danışman, sözleşme süresince ve bitiminden sonra, hizmetlerle yakından ilişkili olarak veya bu hizmetler (Hizmetler dışında olan başka hizmetler veya bu

Geçici Madde 2- Bu Kanunun yürürlüğe konulduğu tarihten önce 926 sayılı Türk Silâhlı Kuvvetleri Personel Kanununa ekli EK-IX sayılı cetvele göre aylık almakta olan