Bilgisayarlar Kendi Kendilerini Örgütlüyor
Teknikerlerin atölyedeki zor bir problemi, atölyenin bağlı olduğu bilgi işlem şebekesinin sistem mühendisi ile telefonda konuşarak çözmeye çalıştığını sık sık görmüşsünüzdür. Mühendis teknikerin yanı başında olsaydı daha iyi olmaz mıydı? Böylece iş ne kadar daha hızlı halledilebilirdi?
Bugün artık gelişkin mikroişlemci tasarımı sayesinde ve yapay zekâdaki YZ ilerlemelerle gittikçe artan miktarda bilgi biriktirilebilmekte ve göreli uzmanların aracılığına gerek duyulmaksızın insanların hizmetine sunulabilmektedir. Bir uzman sistem ile birlikte uzmanların bilgileri teknisyenlere her yerde eşlik edebilir. “Uzman sistem''den kastettiğimiz yıllar boyunca edinmiş olduğu tecrübelerin, bir dizi mantıksal kurala ve bu sayede bir dizi programa tercümesinden ibarettir. Bu bilgisayar programları genelde yapay zekâ uzman sistemleri (Artificial Expert Systems-AIES) olarak adlandırılır. Başlangıçta US uygulamaları, üniversitelerde veya araştırma ve geliştirme çevrelerinde yapılıyordu. Ama artık bu eski araştırmaların çoğu daha kârlı olarak pratik bir şekilde uygulanabiliyor. Kimi özel US uygulamaları sayesinde bilgisayarlar kendi aralarında iletişim kurabiliyorlar. Örneğin: Yerleşim Kontrolü (Konfigürasyon Kontrolü): Uzman sistemler iletişim şebekesinin bileşenlerinin konfigürasyonunu yapmakta kullanılabilir. Örneğin bir şebekeyi tam olarak yerleştirmeden önce istatistik çokdüzeyleyicisinin (statistical multiplexer) terminal hızlarının (terminal speed) belirlenmiş olması, akış kontrolü tutanağının ve arabiriminin tanımlanması ve (trunk) hızının belirlenmesi gerekir. Hata Tespiti (fault isolation): Şebekedeki muhtemel hataların semptomları bilgisayara verilebilir ve en karmaşık problemlerde bile bir uzmanın yaptığı gibi semptomlardan hareketle hatanın kaynağına gidebilir. US, problem çözümünün geri aktarımı (feed-back) ile geliştirilmiş bilgi tabanı (knowledge base) sayesinde sürekli yeni şeyler öğrenir. Seçtiği herhangi bir çözüm yanlış çıktığı takdirde, sistem mühendisi veya programcı o çözümü seçen kuralı değiştirebilir. Böylece US bilgilerini en iyi kaynaktan bir veya daha fazla sayıda uzmanın konu üzerine kazandıkları tecrübelerden elde etmiş olur. Bu makale iletişim şebekesi gerçekleştirmek için kullanılan US'nin fizibilite modelinin yapısına bir göz atmaktadır. Bir prototipin kullanıcı talep problemlerini teşhislerine uygun bir şebeke tasarlamak, şebeke sorunları teşhis etmek gibi yetenekleri vardır.
Şebeke Tasarımı *
İnsan Uzmanların bir şebeke tasarlaması şu evreleri içerir: Kullanıcının Gereksinimleri: Kullanıcının gereksinimleri fizibilite ve tutarlılık açısından gözden geçirilir. Sonuç bir dizi şebeke gereksinimidir. Veri Trafiği Gereksinimleri (requirements): Tasarımcı, gerçekleşebilir istekleri göz önüne alır ve kanal sayısına, veri tipine, veri hızına, kullanım durumuna göre istenen trafiği hesaplar. Şebekenin Topolojisi: Tasarımcı düğümleri (nodes) istenen düğüm yerine (nodal yere) trafiğe veya alternatif yollara göre kurulmuş şebekeye bağlar.
Hat Seçimi: Tasarımcı birbirine bağlanan düğümler (nodlar) arasında en düşük gidere göre seçer. Bu seçim düğümler arasındaki trafik ihtiyaçlarını, düğümlerin yerine ve kaynakların kullanılabilirlik durumuna göre yapılır. Düğüm Gereçlerinin Seçimi: (Modemler, çok düzeyleyiciler, anahtarlar, istatistik çokdüzeyleyicileri vb.) bant genişliğinin (bandwidth) ihtiyaçlarına, fonksiyonel ihtiyaçlara (öncelik anahtarlama protokoller) özel ihtiyaçlara göre seçilir. Tasarımın Sunuluşu: Tasarımcı, tasarımı müşteriye sunar. Bu, gereken servisleri ve birimleri ayrıntılı olarak yazarak, kiralama/satın alma tercihlerinin değişik kombinasyonlarına göre tüm veya aylık çalışma giderlerini hesaplayarak ve bir şebeke diyagramı çizerek yapılır. Tasarım süreci en azından yukarıdaki safhaların tümünü kapsar. Her safhada bir dizi girdi sunulmuştur. Tasarımcı kendi bilgisini ve girdileri sentez edebilen verileri kullanır. Bu süreç bilgisayarda, tasarımcının bilgisini temsil eden bir dizi üretim kuralı (production rule) kullanılarak modelleştirilebilir. Bütün bu girdiler İleriye Zincirleme Çıkarım Tertibatı (forward-chaining inference engine) olarak adlandırılan bir mekanizmaya verilir. Bu, esas olarak veriyle beslenen (data-driven) bir çıkarım mekanizması veya orijinal girdilerden maksimum miktarda malumat ortaya çıkarmak üzere tasarlanmış bir programdır. Girdiler kısa vadeli belleğe depolanır (olgu tabanı); ileri-zincirleme çıkarım tertibatı olguları üretim kurallarına iletir. Eğer bir kural işlerse (fires) -yani bu kural için gereken bütün koşullar doğrulanırsa- bir ek olgu, olgu tabanına yerleştirilir ve yeni olgu tabanı yeniden üretim kurallarına aktarılır. Bu süreç, artık hiçbir kural işlemeyene kadar devam eder. Sonuçta ortaya çıkan olgu tabanı, bilgi tabanından çıkarılan olguları olduğu kadar orijinal girdileri de içerir. Bu çıkarımlar bir sonraki safhayı girdi olarak etkileyebilirler. 1 no.lu tablo bu çıkarım sürecinin işlevsel şemalarını göstermektedir.
BİLGİ NASIL TEMİN EDİLİR?
YZUS, uzman bir insanın geçtiği süreçlerden geçer. Her safhada yeni bir bilgi bazı (kural dizisi) ve önceki safhalardan çıkarılan olgular girdi olarak kullanılır (2 no.lu tablo).
YZUS'de iki tür bilgi temsil biçimi kullanılır: Üretim kuralları ve çatıları (frames). Üretim kuralları yeni olgular çıkaran bir dizi IF-THEN kurallarıdır. Aşağıda üretim kuralları ile çatılar arasındaki ilişkileri gösteren birkaç hat-tercihi (trunk-selection) kuralı bulunmaktadır. Son olarak bir dizi girdi verilir ve ileri zincirleme çıkarım süreci denenir. Amaç şu gereksinimleri sağlamak için hangi hat türünün seçileceğine karar vermektir.
1. Bant Genişliği Kuralı: IF bant genişliği 4.8 kbit/s'den azsa THEN bant genişliği küçüktür. 2. Bant Genişliği Kuralı: IF bant genişliği 14.8 ile 28.8 kbit/s arasında THEN bant genişliği ortadadır. 3. Bant Genişliği Kuralı: IF bant genişliği 28.8 ile 56 kbit/s arasında THEN bant genişliği büyüktür. 4. Bant Genişliği Kuralı: IF bant genişliği 56 ile 250 kbit/s arasında THEN bant genişliği çok büyüktür. 5. Bant Genişliği Kuralı: IF bant genişliği 250 kbit/s'den fazla THEN bant genişliği ultra büyüktür.
1. Bağlantı Kuralı: IF bir hat seçilmemişse ve bağlantı olanaklıysa ve terminal oranı 300 bit/s'den azsa ve bant genişliği küçükse THEN Bell 103 temelinde
TABLO 1
1. İlk geçiş: Olgular bilgi tabanına yerleştirilirler ve bir kural çıkarılana kadar çeşitli safhalardan geçerler. Kural kısa-vadeli bellek bankasına eklenir.
Bilgi bazı (üretim kuralları)
Kurallar
İleri-zincirleme çıkarım tertibatı
Çıkarılan olgular Yeni olgu çıkarımı
Kısa-vadeli bellek (Durum bazı)
TABLO 2
2. Sahte düşünce: Yapay zekâ uzman sistemi, “düşünce sürecinin” safhalarından aynen bir uzman insan gibi geçer.
Kullanıcının ilk talepleri
Safha 1 Talepleri Kullanıcı için gerekli
Kullanıcının talepleri Bilgi tabanı gözden geçir. Kabul edilen talepler Safha 2 Trafik
Yaratığı hesapla Bilgi tabanı Kullanıcının talepleri Trafik ihtiyaçları
Safha 3 Topoloji Topoloji tasarımla Topoloji bilgi tabanı Kullanıcının talepleri Trafik ihtiyaçları Topoloji kolaylıkları
Safha 4
Hatları seç Hattın bilgi tabanı Kullanıcının istekleri Trafik ihtiyaçları Topoloji Hat kolaylıkları Düğüm gereçlerini seç Düğüm gereçleri bilgi tabanı
Safha 5
Kullanıcının istekleri Trafik ihtiyaçları Topoloji Hat Kolaylıkları
Düğüm gereçleri
Safha 6
Ri Çıktı Çıktı bilgi tabanı Özetlenmiş çıktı verisi bağlantı modemlerini sağla ve bir hat seç. 2. Bağlantı Kuralı: IF bir hat seçilmemişse ve bağlantı olanaklıysa ve terminal oranı 1.2 kbit/s'den fazlaysa THEN Bell 212A bağlantı modem bağlantılarını sağla ve bir hat seç.
Ses Derecesi Kuralı:
IF bir hat seçilmemişse ve bant genişliği büyük, çok büyük veya ultra büyük değil, THEN bir ses-derecesi devresi kur ve bir hat seç. Topoloji tasarımı safhasıyla belirlenen hat tercihi kuralları her hat için ayrıca kullanılır. Topoloji tasarımı safhası kullanıcının gereksinimlerini, trafik ihtiyaçlarını ve topolojiyi (anahtarlar ve bunların bant genişlikleri) hat tercihi kurallarına verir. Örneğin hatlardan birinin aşağıdaki olgularla birleştiğini varsayalım: - Bant genişliği 14.4 kbit/s - Bağlantı olanaklı - Terminal oranı 2 kbit/s'den az - DSB servisi uygundur. Aşağıdaki olay dizisi olabilir: 1. Kurallardan ilk geçişte 2. bant genişliği kuralı harekete geçer. “Bant genişliği orta” olgu tabanına eklenir. 2. Kurallardan ikinci geçişte ses derecesi kuralı işler. “Ses derecesi devresini kur” olgu ve “hat seçildi” tabanına eklenir. 3. Kurallardan üçüncü geçişte hiçbir kural işlemiyor, çıkarım tamamlanmıştır ve hat ses-derecesi devreleri ile sağlanır. “Hat Seçildi” olgusu, harekete geçen diğer hiçbir hat tercihi kuralına bırakılmamıştır. Bu süreci durduran koşul kuralı olarak kullanılır. YZUS daha sonra olgu bazını temizler ve bir sonraki hattı ve onun olgularını anahtar tercihine sunar. Bu süreç ağda bulunan bütün hatlar seçilene kadar devam eder. Yukarıda verdiğimiz kurallar sadece US'nin ilkelerini gösterir, bunların tamamı değildir. Gerçek bir algoritma, 100 hat tercihi kuralını gerektirir. Yeni kuralların eklenmesi veya değiştirilmesi US'nin performansını artırır. Diğer kuralları etkilemeden istisnai bir durumu dikkate alan kurallar eklenebilir. Bu düzenleme bilgi bazının büyümesini ve zamanla gelişmesini sağlar; çatılar ise nesneler arasındaki temel ilişkileri belirtmek için kullanılır. US şebekesinde topolojisi hat hizmetleri ve düğüm birimleri seçimi çatılarla gösterilir. Düğüm birimlerini örnek alırsak, en yüksek düzeydeki, düğüm şebekenin kendisidir. Şebekenin altsınıfları, düğüm birimleri, hat türleri ve şebeke topolojisini içerirler. Düğüm birimlerinin altsınıfları modemler, çokdüzeyleyiciler, tutanak çeviricileri, yoğunlaştırıcılar, anahtar vb.dir.
Bilgi Mühendisliği
Hizmetleri
US'nin geniş bir bilgi-düzenleme yetenekleri vardır. Kurallar ve çatılar bir ekran editörü kullanılarak listelenebilir ve düzenlenebilirler. Çıkarım tertibatının iç işleyişinin işlem süresince özel bir pencereden görülmesini sağlayan bir izlenebilme kolaylığına sahiptir. Çıkarımlar yapılırken kullanılan kurallar izlenebilir. Bu bilgi, mühendisin işlem süresince iç süreci görmesini ve istenen sonuçları elde etmek için bilgi bazında gerekli düzeltmeleri yapmasını sağlar. Böylece eksiksiz bilgi tabanı sürekli güncelleştirilebilir. Veri girişinden sonra, eğer veri geçerli ve tutarlıysa, sistem şebeke tasarımı için harekete geçer. Eğer veri geçerli değilse, sistem kullanıcıya tutarsızlığı açıklar ve doğru girdiler ister. Her tasarım safhasının sonunda US yaptığı çıkarımları ekranda gösterir. Kullanıcı istediği zaman US'yi durdurabilir ve açıklama isteyebilir, tasarımı veya talebini değiştirebilir. Bir uzman, sonucun nasıl çıktığını veya neden çıkmadığını açıklayabilir. İyi bir uzman sistemin de bu yeteneği vardır.
Açıklama Kolaylıkları
Bu makalede söz edilen YZUS prototipi, olgunun çıktığı kurallara bakarak, bunun nasıl elde edildiğini açıklamaktadır. Örneğin yukarıdaki anahat tercihi işlemindeki kurallardan bir geçiş “Bant genişliği orta” kararına varır. Eğer YZUS'e bu karara nasıl varıldığı sorulsaydı, 2. bant genişliği kuralından çıkarıldığı söylenecekti: IF bant genişliği 14.8 ile 28.8 kbit/s arasında olur THEN bant genişliği ortadadır. Böylelikle kullanıcı sadece belli tasarım yönlerinin hangi taleplerinden kaynaklandığını görmekle kalmaz, kendisi de tasarım sürecini öğrenebilir. Eğer YZUS'e niye “Bell 212A bağlantısı kur” kararının seçilmediği sorulsaydı bu karar için 2. bağlantı kuralı kullanılmalıydı diye yanıtlayacak ve aşağıdaki koşulları verecekti.
1. Hat seçilmedi. 2. Bağlantı olanaklı. 3. Terminal oranlar 1.2 kbit/s'den az.
Ama bant genişliği büyük. “Neden” kolaylığı bilgi mühendisi için olduğu kadar, kullanıcının eğitimi için de önemlidir. Uzman sistem terimleri özeti: Uzman: Özel bir konuda derinlemesine bilgi sahibi olmuş kimse. Uzman sistem: İnsanlar için yıllarca eğitim gereken özel konularda uzmanlaşma, bir bilgisayar sistemi tarafından sağlanabilir. Bir uzman sistem bu verimliliği sağlamak için kullanılır. Sistemin yazılımı bir bilgi tabanı ve bir kontrol stratejisini içerir. Bilgi: Bilgi, genel kurallar, olgular ve öngörüler içerir. Genel Kurallar (heuristic): Bir kural veya temel kanun veya belli işlerin nasıl görüleceğine dair bir ipucu. Olgular ve Öngörüler: Geçerliliği kabul edilmiş önermeler ve veriler. Bilgi Tabanı: Bilgisayarda bilgi deposu (Bkz. Commodore, Sayı 1, Haziran 1984). Bilgi tabanı uzmanlardan elde edilen bilgilerden ve ders kitapları ile üretici firmaların kataloglarından toplanan olgu verilerinden oluşur. Bilgi tabanı kurallar ve çatılar (frames) olarak düzenlenmiştir. Kural: Bir uzmanlık alanında olgu öne sürmek. Bir kural “IF yağmur yağarsa THEN yağmurluğunu al” biçiminde ifade edilir. “Yağmur yağarsa” cümlesi kuralın koşuludur. Koşul: Kuralın sol tarafı veya kuralın hipotezi. Eğer koşul doğru ise sonuç doğrudur. AND ve OR gibi bağlantılar kullanılarak koşullar ve sonuçlar karmaşıklaştırılabilir. Örneğin: IF Yağmur yağıyorsa, AND palton yoksa, THEN sokağa çıkma, OR palto al. Sonuç: Kuralın sağ tarafı veya kuralın bitimi; sonuç ancak koşul doğruysa doğru olur. Kontrol Stratejisi: Bilgi tabanından çıkarım yapabilmek için gereken bilgisayar programı. Uzman sistem de kontrol stratejisi olarak çıkarım yapmak için ileri-zincirleme kullanır. İleri Zincirleme: Halen inanılmakta (doğruluğu kabul edilmekte olan) koşullardan hareketle, kuralları uygulayan ve sonuçlardan yeni kavramlar türeten kontrol stratejisi. Uygulanan kuralların sonuçları yeni önermeler olur ve yeni kuralların koşulu haline gelir. Böylelikle mevcut inançlar kümesi değiştirilir. Artık yeni inançlar eklenmeyene kadar kurallar uygulanmaya devam eder. Çatı: Bilginin temsil biçimi. Bir çatı, bir nesnenin taşıdığı özelliklerin toplamıdır. Nesnenin özellikleri çatının hanelerine (slots) yerleşir. Bir özellik özel bir nitelik olabilir veya başka bir nesneyle kurduğu ilişki olabilir. Örneğin birçok düzeyleyici bir tür düğüm birimidir. Hane (slot): Bir çatıdaki bir hane başka bir çatıyı nesnenin niteliği olarak tanımlayabilir. Bu durum çatı diyagramı denilen bir yapıda, çatının hiyerarşik olarak organize olmasına yarar. Haneler, isim, tanım gibi iç özelliklere tekabül edebileceği gibi değer, önem gibi özellikleri de temsil edebilirler.
Tüm bayilerde
UYSAL | Murat Öğretim Görevlisi İ.T.Ü, Öğretim Üyesi