AÖF DERS NOTLARINA HOŞ GELDİN!

Ders notlarına erişmek için lütfen ücretsiz kayıt olunuz.

Ücretsiz Kayıt ol!

FİNAL Yapay Zekave Uzman Sistemler Final Ders Notu

Administrator
Yönetici
Mesajlar
255
Tepkime puanı
24
Puanları
18
YAPAY ZEKÂ VE UZMAN SİSTEMLER ÜNİTE-11

Yapay zekâ, bilgisayar biliminin bir dalıdır ve zekâ gerektiren davranışların otomasyonu ile ilgilidir. Yapay Zekâ; biyolojik sistemlerin, özellikle insanın zekâ gerektiren davranışlarının bilişim teknolojileriyle simülasyonu ile ilgili bir bilim dalıdır.

Yapay Zekâ Araştırmalarının Hedefleri:
“insanlar tarafından yapılan karmaşık ve emek yoğun bazı işlerin bilgisayar sistemleri tarafından gerçekleştirilmesini sağlayarak insanların hayat standardını yükseltmek” ve “insanların makinelerle iletişimini kolaylaştırmak” Akıllı robot düşüncesi, yapay zekâ araştırmalarının ana temasını oluşturur. ilk çalışmalardan biri Massachusetts Teknoloji Enstitüsünden (MIT) Rodney BROOKS’un Attila isimli robotudur. 1990’ların başında üretilen Attila, ayakta durmayı ve yürümeyi kendi kendine ve deneme yanılma yöntemiyle öğrenmeyi başarmış ve benzeri yeni durumlara da uyum sağlayabilecek bir robottur. Günümüzde bilgisayar kullanımı son derece kolaylaşmıştır. Ancak esas amaç, bilgisayar ve diğer bilişim aygıtlarıyla insanların konuşma ve işaretleşmede kullandıkları yöntemlerle iletişim kurmayı başarmaktır.

Hızlı değişimin temel sebepleri (kronolojik olarak) şöyle sıralanabilir: 1. Yapay zekâ yazılımlarının ilk gerçek ticari uygulaması olan uzman sistemlerin ortaya çıkması 2. Japonların Yeni Kuşak Bilgisayar Teknolojisi Enstitüsü bünyesinde yapay zekâ konusunda yaptıkları önemli gelişmeler 3. Yapay zekâ uygulamalarının gerektirdiği yüksek hız ve çok miktarda bilgi saklama özelliklerini sağlayan gelişmiş bilgisayarların yaygınlaşması. 4. Yapay sinir ağları, bulanık mantık ve genetik algoritma gibi yapay zekâ tekniklerinin mevcut uygulamalara entegrasyonu 5. Bilişim teknolojilerinin tüm alanlarındaki çalışmaların artık yapay zekâyı gerektirecek düzeye gelmesi.

Yapay Zekânın Tarihi Gelişimi: Yapay zekâ olarak nitelendirilebilecek çalışmaların başlangıcını belirlemek oldukça zordur. Yapay zekânın doğuşu Alan Mathison Turing’in (1912-1954) program saklayan bilgisayarı keşfine dayandırılabilir. İlk bilgisayarlar literal olarak belirli problemlerin çözümü için üretilmiş, adanmış (dedicated) makinelerdi. Turing’in yöntemi ise programın bilgisayarda veri gibi saklanmasını esas alıyordu.

Turing’in yapay zekâ araştırmalarına diğer bir katkısı da Turing Testi olarak bilinen deneydir. Turing’in yaptığı deneyle ilgili makalesi mekanik zekâ konusunda, özellikle dijital modern bilgisayarlar açısından, yayınlanan ilk çalışmalardan biridir. Turing, taklit oyunu (imitation game) adını verdiği deneyinde bir bilgisayarı ve bir insanı, sorgucu (interrogator) dediği bir diğer şahsın göremeyeceği şekilde ayrı ayrı alanlara yerleştirmiştir.

1956’da Massachusetts Teknoloji Enstitüsünden genç bir matematik profesörü olan John McCharty ve yine aynı kuruluştan Marvin Minsky’nin düzenlediği “Dartmouth Konferansı” yapay zekâ üzerine düzenlenmiş ilk konferanstı. Allen Newell ve Herbert Simon’dur. Yapay zekâ düşüncesi, John MCCARTY’nin 1960 yılında ilk yapay zekâ dili olan LISP’i üretmesiyle uygulamaya geçirilmiştir. Yapay zekâ terimi ise Marvin MINSKY’nin 1961 yılında yayınladığı bir bildiriye dayanır. 1960’lı yıllar, “düşünen bilgisayar” üretme fikrinin yaygınlık kazandığı yıllardı. Yine bu yıllarda ilk satranç oynayan bilgisayar üretildi. İlk olarak matematiksel kanunlar bilgisayara aktarıldı. Ve nihayet ünlü ELIZA programı geliştirildi. 1964’de Massachusetts Teknoloji Enstitüsünde Prof. Joseph Weizenbaum tarafından geliştirilen program, bilgisayar dünyasında geniş yankı uyandırmıştı. G.B. Shaw’ın Pygmalion adlı oyunun kahramanı kaba-saba konuşan kız çocuğu ELIZA, bu programa ismini vermişti. ELIZA, psikiyatrik konsültasyon amacıyla üretilmişti ve bir psikanalist gibi çalışıyordu.

1960’lı yıllar her ne kadar yapay zekâ kavramının doğmasına şahit olmuşsa da yaygınlaştığı yıllar 70’li yıllar olmuştu. Bunun başlıca iki nedeni vardı:

• 60’lı yılların teknolojik gelişmelerinin yapay zekânın ihtiyaç duyduğu geniş bilgisayar kaynaklarını sağlayacak düzeyde olmaması.

• Yapay zekâ uygulamaları için gerekli optimal çözüm sağlayan algoritmaların üretilememesi.

İlk uzman sistem uygulamalarından biri olan MYCIN, 1976 yılında Stanford Üniversitesinde geliştirildi. 1972 yılında Mersailles’de (Fransa) Alain COLMERAURER tarafından PROLOG’un geliştirilmesi, yapay zekâ alanındaki en önemli gelişmelerden biri olmuştur. Ancak 1981’de Japonların büyük bir atılım gerçekleştiren beşinci kuşak bilgisayar projesinin PROLOG ile gerçekleştirilmesi PROLOG’un popülaritesini artırdı. Bu makinada paralelliği sağlamak için kullanılan dil ise C++ tır.

Klasik ve Zeki Bilgi İşlem Yaklaşımları: Zeki (intelligence) yazılımların klasik yazılımlardan en önemli farkı karşılaştıkları problemlerin çözümünde insan beyninin kullandığı yöntemleri uygulamasıdır.

Klasik Bilgi İşlem Yaklaşımı:
Klasik yazılımların problem çözümü ve bilgi işleme adımları şu şekilde sıralanabilir:

• Verilerin dosyalarda metin, şekil, nesne vb. hâlinde saklanması

• Saklanan verilere erişilmesi

• Veriler üzerinde matematiksel işlemler, kıyaslamalar, formüle dayanan çözümler yapılması

• Verilerin bir şekilden başka bir şekle transferi, sıralanması ve yeniden düzenlenmesi

• Ekleme, silme ve değişiklik yaparak verilerin işlenmesi

• Değişik alternatifler arasından uygun sonucun seçilmesi

• Beklenilmeyen durumlarla karşılaşılırsa gerekli tepkinin gösterilmesi (Örneğin bir disk arızası durumunda hata mesajı verilmesi)

• Yazıcı, modem vs. gibi çevre aygıtlarının kontrol edilmesi

Yapay Zekâya Dayanan Bilgi İşlem Yaklaşımı: Yapay zekâ veya sembolik yaklaşımda başlangıç noktası alansal bilgidir. Bu bilgi (veri değil) bilgisayarda saklanabilecek bir formda olmalıdır. Yani sembolik olarak sunulmalıdır. Burada sembol; nesneleri, nesnelerin davranışlarını ve nesneler arası ilişkileri ifade eden harf, rakam veya benzeri karakter kümesidir. Nesne ile insan, yer, olay, fikir vs. herhangi bir şey ifade edilebilir. Semboller bilgisayara ASCII karakter veya karakter katarı olarak bildirilirler.

Çıkarım, verilen bilgileri kullanarak yeni bilgiler elde etme sürecidir. Bilgi tabanı açısından, verilen bir veya daha fazla kuraldan yeni kural veya kurallar elde etmektir. Çıkarım motoru bilgi tabanı içerisindeki sembolik verileri tarama ve model uyumu (search and pattern matching) denilen bir yöntemle işler. Yapay zekâ yazılımları ise prosedürel değildir, yani “Nasıl” değil “Ne” sorusuna cevap ararlar.

Klasik Yazılımlarla Yapay Zekâ Yazılımlarının Karşılaştırması

Yapay Zekâ Yazılımları Klasik Yazılımlar
Tarama ve model uyumu tekniğini kullanır.Algoritmik yapıya sahiptir.
Prosedürel değildir.Prosedürel, yani sıralı olarak tanımlanmış kurallar ve işlemler dâhilinde fonksiyon icra eder.
İnsan fonksiyonlarını taklit ederek çözüm araştırırStandart problemlere belirtilen yöntemlerle çözüm arar.
Yetersiz veri durumunda eksiklikleri de göz önüne alarak çözüm üretir. Yani tahminde bulunur.Yetersiz veri durumunda hata mesajı verir.
Nitel çözümler üretir.Nicel çözümler üretir.
Sembolik olarak yapılandırılmış bilgi tabanı kullanır.Sayısal olarak adreslenmiş veri tabanı kullanır.
Daha önce karşılaşmadığı bir durum ortaya çıktığında bu duruma nasıl uyum sağlayacağını araştırır ve elde ettiği sonuçları bilgi tabanına ekler. Yani bir çeşit öğrenme sağlar.Algoritmasında belirtilmeyen durumlar için çözüm üretemez.
Yapay Zekânın Uygulama Alanları: Algoritmik çözüme uygun olmayan her problem, yapay zekâ tekniklerinin uygulanması için uygun bir adaydır.

Uzman Sistemler (Expert Systems):
Uzman sistemler, belirli konularda gerek tecrübe ile gerekse formal yollardan kazanılmış yoğun bilgiye sahip insanların bu bilgi ve tecrübelerini uzmanı oldukları konulardaki problemleri çözmek amacıyla kullanma yeteneklerini taklit eder. Bir uzman sistem genel olarak aşağıdaki bileşenlerden oluşur: Bilgi Tabanı: Bilgi tabanı veri tabanı değildir. Geleneksel veri tabanları alan, kayıt ve dosyalardan oluşmuş olup elemanları aralarında sabit ilişkiler bulunan verileri hedef alır. Bilgiler kuralları ifade eden IF-THEN blokları hâlinde karakterize edilir. Çıkarım Motoru (Inference Engine): Çıkarım motoru; çıkarım programı (inference engine), kural yorumlayıcı (rule interpreter), kontrol programı (control program) olarak da adlandırılır. Çıkarım motoru sonuç çıkarma ya da karar verme işlemini gerçekleştiren algoritmadır. Çıkarım mekanizmaları, işleyecekleri verileri doğrudan kullanıcıdan, gerçek zamanlı sensörlerden (Hasta takip sistemleri ve otomatik kontrol sistemlerinde olduğu gibi) ve veri tabanı yönetim sistemleri, elektronik tablolama programları ve diğer uygulamalardan alırlar. Çıkarım motorunun “çıkarım” ve “kontrol olmak” üzere iki temel işlevi vardır. Kullanıcı Arayüzü (User Interface) :Kullanıcı arayüzü, bilgi tabanı ve çıkarım programı ile kullanıcı arasında iki yönlü bir iletişim sağlar. Kullanıcıya çeşitli sorular yönelterek veya kullanıcının bir menüden seçim yapmasını sağlayarak elde ettiği verileri çıkarım programına iletir. Veri Tabanı (Database) :Genel veri tabanı (global database) veya çalışma belleği (working memory) olarak da adlandırılan veri tabanı, uzman sistem terminolojisi açısından klasik anlamından biraz farklı kullanılır. Veri tabanı, uzman sisteme yapılan kullanıcı girişlerini, varılan kararları ve çıktı bilgilerini saklamak için ayrılan hafıza bölgesidir. Çıkarım programı veri tabanını, sistemde ne olup bittiğini izlemek için bir liste gibi kullanır. Açıklama Alt Sistemi (Explanation Sub System) :Çoğu kullanıcı, uzman sistemin sonuca hangi kriterlerle vardığını bilmek ister. Bu durum, kullanıcının tanımadığı bir uzmanın tavsiyelerini şüphe ile karşılamasına benzetilebilir. Bu problemi çözmenin bir yolu, sistemin, sonuca nasıl ulaştığını açıklayan bir sisteme sahip olmasıdır. Açıklama alt sistemi aracılığı ile kullanıcı sistemden “Nasıl?” ve “Niçin?” sorularına cevap alır. Örneğin sistem çözüm aşamasında kullanıcıdan ek bilgi isterse, kullanıcı bu ek bilgiye niçin ihtiyaç duyulduğunu sorabilir. Bilgi Giriş Alt Sistemi (Knowledge Input Sub System) :Bilgi tabanındaki kuralların kullanıcı tarafından, çıkarım programından bağımsız olarak eklenmesini veya değiştirilmesini sağlayan programların kümesine bilgi giriş alt sistemi adı verilir. Çoğu uzman sistemin tabiatında dinamizm vardır. Örneğin tıp alanında kullanılan tedavi yöntemleri ve ilaçlar sürekli değişmektedir. Bu yüzden bilgi tabanının da sürekli değişen verilere göre güncellenmesi gerekmektedir. Bazı uzman sistemlerde bu işlem özel veri işleme programları aracılığı ile yapılırken genellikle standart metin editörleri ve kelime işlem paketleri de bu iş için kullanılmaktadır.
 
Üst