Toplam Kalite Yönetiminin Işığı Altında Yapay Zekanın Endüstriyel Problemlerin Çözümünde Kullanımı Konuşmacı Yrd. Doç. Dr. Türkay Dereli Gaziantep Üniversitesi Mühendislik Fakültesi Endüstri Mühendisliği Bölüm Başkanı
Tarih 12 Mayıs 2000 Cuma 09:00
Yer Mühendislik Fakültesi Konferans Salonu ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ
YAPAY ZEKA TEKNİKLERİNİN BİLGİSAYAR DESTEKLİ TASARIM VE ÜRETİM SİSTEMLERİNDE KULLANILMASI ama önce yapay zeka...
Yapay Zeka Nedir ? • Niçin Yapay Zeka ? • Yapay Zeka Araçları • Akıllı (Zeki) İmalat Sistemleri
YAPAY ZEKA • • • •
“Yapay Zeka” (YZ) tanımı Yapay Zeka Testleri Zeki Sistemlerin Özellikleri YZ’nın Geleneksel Sistemlerden Farkları
YAPAY ZEKA-1
Yapay Zeka (Artificial Intelligence); öğrenme, gerekçeleme, problem çözme, yabancı bir dili alma v.b. gibi insanoğlunun davranışlarını gösterebilen sistemlerle ilgilenen bir bilgisayar bilimidir. Yapay Zeka’nın ana amacı insanların davranışlarının ve sezgisel yeteneklerinin bilgisayar üzerinde benzetimidir. İnsanoğlu esas olarak Bilgi’yi (Knowledge) kullanmakta ve onu işlemektedir. Bu yüzden bilgi ve bilginin kullanımı Yapay Zeka’nın da anahtar karakteristikleridir.
YAPAY ZEKA-2
Yapay Zeka’nın standart bir tanımı yapılamamakla beraber, yapılagelen tanımların ortak yönleri şunlardır; • YZ bir bilgisayar bilim dalıdır, • YZ bilgi ve davranışa dayanır, • YZ zeki davranışları araştırmaktadır. Zeka rakam ya da veriler yerine bilgiye dayalı mantıksal bir süreçtir. Bilgi ve bilginin işlenmesi ile zeki davranışlar ortaya çıkarılabilir.
YAPAY ZEKA-3 • Bir programın ya da sistemin zeki ya da akıllı olup olmadığını sınamak için bazı testler uygulanır;
Turing Testi Çin Odası Testi
YAPAY ZEKA-4 • Bir programın ya da sistemin zeki ya da akıllı olarak kabul edilebilmesi için, en azından aşağıdaki özelliklerden bazılarını sağlayabilmesi gerekir;
• Karar verme • Algılama • Öğrenme • Problem çözme • Muhakeme • Şekil ya da resim tanıma • Doğal dil anlama
YAPAY ZEKA-5 • YZ’nın geleneksel programlamadan birçok farkı vardır;
• Öğrenebilirler • Tecrübe kazanabilirler • Bu tecrübeyi kullanarak yeni problemleri çözebilirler • Eksik veri ile problemler çözebilirler • Belirli bir algoritma yerine sezgisel yöntemler kullanırlar • Yanlış yapabilirler
YAPAY ZEKA ARAÇLARI • • • • • • • •
Uzman Sistemler Yapay Sinir Ağları Bulanık Mantık Genetik Algoritmalar Tabu Araştırma Algoritmaları Benzetilmiş Tavlama Benzetilmiş Su Verme Vaka Tabanlı Gerekçeleme
İNSAN VE ZEKA • BİR İNSANDA ORTALAMA: Hücre Adeti: 220 milyon Damar Uzunluğu: 200.000 km Kan Hızı: 2.000 m/saat Ağrıyı Duyma: 0.9 saniye Isıyı Duyma: 0.16 saniye Dokunmayı Duyma: 0.12 saniye Sinir Sistemi Bağlantı Noktası (NEURON) Sayısı: 1 trilyon Sinir Sistemi Bağlantı Sayısı: 10 trilyon Sinir Sistemi - Operasyon Sayısı: 1 milyar operasyon / saniye
İNSAN DAVRANIŞLARI VE BAZI ÖZELLİKLER • İNSANLAR: • • • • • • • • • •
Öğrenebilir ve öğretilebilir Düşünebilir Tecrübe kazanabilir, geçmiş tecrübelerini kullanarak yeni problemleri çözebilir Karar verebilir Mantık yürütebilir Tahmin yapabilir Kalabalıkta ya da karanlıkta gördüğü bir yüzü anımsayabilir Günlük yaşantısında farkında olmadığı dilsel değişkenler kullanır Çoğalabilirler, çocukları büyük bir ihtimalle kendilerine benzer
UZMAN SİSTEMLER (EXPERT SYSTEMS) • Geleneksel Programlamadan Farkları • Avantaj ve Dezavantajları • Kullanım Alanları • Uzman Sistem Geliştirme Araçları
UZMAN SİSTEMLER-1 • Uzman Sistemler en eski Yapay Zeka araçlarından birisidir • Belirli bir alanda, bir uzmanın önerdiği çözümleri üretebilen, o alanın bilgileri ile donatılmış, gerekçeleme metotları ile olayları süzebilen programlardır. • Bilgi Tabanlı Sistemler (Knowledge Based Systems) olarak ta bilinirler.
UZMAN SİSTEMLER-2 • Genel Yapı ve Çalışma Mekanizması
UZMAN SİSTEMLER-3 • • • • • • • • • •
KULLANIM ALANLARI Proses tasarımı ve seçimi Ürün tasarımı, İşlem planlama Medikal Tedavi Kalite Kontrol Çizelgeleme Ses işleme Görüntü tanıma Robotik uygulamaları Hata düzeltme
UZMAN SİSTEMLER-4 • AVANTAJ VE DEZAVANTAJLAR • Uzman Sistemler, çıkardıkları sonuçları nasıl ve neden çıkardığını açıklayabilir • Üçüncü kişiler, uzman sistemleri yani kurallar üreterek rahatlıkla değiştirebilir • Uzman sisteme bilgiyi verecek uzmanı bulmak her zaman kolay olmayabilir • Uzmanlar bilgilerini kurallar halinde belirtemeye bilir
UZMAN SİSTEMLER-5 • UZMAN SİSTEM GELİŞTİRME ARAÇLARI
• Programlama Dilleri: Prolog, C++, LISP • Kabuklar: Leonardo, VP-Expert, KES, GoldWorks
YAPAY SİNİR AĞLARI (ARTIFICIAL NEURAL NETWORKS) • • • • •
Öğrenme - Öğretme ? Geleneksel programlamadan farkları Avantaj ve Dezavantajları Kullanım Alanları Yapay Sinir Ağları Sistem Geliştirme Araçları
YAPAY SİNİR AĞLARI-1 • Yapay Sinir Ağları (YSA) genel olarak insan beyninin ya da merkezi sinir sisteminin çalışma prensiplerinin taklit eden bilgi işleme sistemleridir. • YSA’da bilgi basit işlem elemanları arasında paralel olarak dağıtılmış olup, her bir proses elemanı birbiri ile bağlantılıdır. Bu yüzden YSA bazen, Paralel Dağıtılmış İşleme Sistemleri (Paralel Distributed Processing Systems) ya da Bağlantıcı Sistemler (Connectionist Systems) olarak ta adlandırılırlar.
YAPAY SİNİR AĞLARI-2 • Öğrenmenin Temelleri - Pavlov’un Köpekleri
YAPAY SİNİR AĞLARI-3
• Genel Yapı ve Çalışma Mekanizması •
Öğretmenli ve Öğretmensiz Öğrenme
YAPAY SİNİR AĞLARI-4
• Genel Yapı ve Çalışma Mekanizması •
Bir Proses Elemanın Çalışması
YAPAY SİNİR AĞLARI-5 • SINIFLANDIRMA
YAPAY SİNİR AĞLARI-6 • • • • • • • • • •
KULLANIM ALANLARI Robotik Uygulamaları Proses kontrol Ürün tasarımı İşlem planlama Kalite Kontrol Gerçek zamanlı modelleme Adaptif kontrol Görüntü tanıma Borsa endeksi, enflasyon ve kur tahmini, v.b
YAPAY SİNİR AĞLARI-7 • BİR ÖRNEK
YAPAY SİNİR AĞLARI-8 • AVANTAJ VE DEZAVANTAJLAR • Uzman sistemler gibi bilgiyi kurallar halinde istemezler • Öğrenebilir ve hiç karşılaşmadıkları bir problemi çözebilirler • Paralel yapıları nedeniyle çok hızlı çalışırlar • Çıkardıkları sonuçları nasıl ve neden çıkardığını açıklayamaz (kapalı kutu) • Eğitimleri oldukça zaman alıcı ve zordur
YAPAY SİNİR AĞLARI-9 • YSA GELİŞTİRME ARAÇLARI
• Programlama Dilleri: C++ (Nesneye Yönelik Programlama)
• Kabuklar: NeuralDesk, NeuroShell2, MATLAB Neural Network Tool Box
BULANIK MANTIK (FUZZY LOGIC) • • • • •
Geleneksel Mantık Geleneksel Programlamadan Farkları Avantaj ve Dezavantajları Kullanım Alanları Bulanık Mantık Tabanlı Yazılım Geliştirme Araçları
BULANIK MANTIK-1 • Bulanık Mantık insanların her gün kullandığı ve davranışlarının yorumlandığı yapıya ulaşılmasını sağlayan matematiksel bir disiplindir. • İnsanlar günlük hayatta; tam olarak tanımlanmamış ve nümerik olmayan dilsel niteleyiciler (soğuk, hafif soğuk, ılık, sıcak, çok sıcak vb. gibi) kullanarak kararlar verir ve problemlerini çözerler.
BULANIK MANTIK-2 • Bulanık Mantık---> Temeli Bulanık Küme Kuramı’na dayanır (ZADEH, 1965). • Geleneksel mantık sistemi yalnızca 1 ve 0 üzerine kuruludur. Doğru veya yanlış vardır. Bu ikisinin arası yoktur. Belirsiz bir problemin çözümü güçtür. • Bulanık Mantık sisteminde de 1 ve 0 değerleri vardır. Bununla birlikte 0 ile 1 arasındaki değerler de kullanılır. Doğru ya da yanlışın ne kadar doğru ya da ne kadar yanlış olduğu belirlenebilir. • Bulanık Mantık Olasılık Teorisinden farklıdır. Olasılık’ta problemin kendisi tanımlıdır.
BULANIK MANTIK-3 • Bulanık Mantık Yapay Zeka metotları içerisinde en çok endüstriyel uygulama alanı bulan araçtır. • • • • • •
KULLANIM ALANLARI Elektrikli ev aletleri Oto elektroniği, fren sistemleri Elektronik denetim sistemleri Karar Verme Proses Planlama
BULANIK MANTIK-4 • AVANTAJ VE DEZAVANTAJLARI • Bulanık Mantık eksik tanımlı problemlerin çözümü için uygundur • Uygulanması oldukça kolaydır. • Bulanık Mantık Sistemleri öğrenemez ya da öğretilemez.
BULANIK MANTIK-5
• Genel Yapı ve Çalışma Mekanizması
BULANIK MANTIK-6 • Çölde kayboldunuz. Elinizde 2 şişe su var. • Birinin üzerinde %91 olasılıkla kirli su (OM) • Diğerinin üzerinde %91’i kirli su (BM) • yazıyor.
• Hangisini içersiniz ?
BULANIK MANTIK-7 Fuzzy Logic Çamaşır Makinesi Nasıl Çalışıyor ?
BULANIK MANTIK-8 • Uygulama Alanlarından Örnekler
BULANIK MANTIK-9 • BULANIK MANTIK - SİSTEM GELİŞTİRME ARAÇLARI
• Programlama Dilleri: C++ • Paket Programlar: FuzzyTech, MATLAB Fuzzy Logic Tool Box
KOMBİNATORYEL ENİYİLEME ARAÇLARI
(COMBINATORIAL OPTIMIZATION TOOLS)
• Genetik Algoritmalar • Tabu Araştırma Algoritmaları • Benzetilmiş Tavlama ve Benzetilmiş Su Verme • Vaka Tabanlı Gerekçeleme • Avantaj ve Dezavantajları • Kullanım Alanları
KOMBİNATORYEL ENİYİLEME ARAÇLARI-1 • Avantajları, Dezavantajları, Kullanım Alanları • Türev, integral gibi matematiksel araçları kullanmadan fonksiyon eniyilemelerini kolaylıkla yapabilirler.
KOMBİNATORYEL ENİYİLEME ARAÇLARI-2 • Genetik Algoritmalar EVRİM teorisini ilham alır.
•Genetik Operatörler
Koyun Dolly
•Yeniden Üretme (Reproduction) •Çapraz Değiştirme (Crossover) •Tek Bir Bilgi Değiştirme (Mutation)
Kromozomlar - UYUM FONKSİYONU
GA-STRATEJİSİ Initialize
Another Generation
Determine number of new strings
Create new strings
Form next generation
Save statistics
Save state
KOMBİNATORYEL ENİYİLEME ARAÇLARI-3 • Genetik Algoritmalar
KOMBİNATORYEL ENİYİLEME ARAÇLARI-4 • Tabu Araştırma Algoritmaları
TABU
KOMBİNATORYEL ENİYİLEME ARAÇLARI-5 • Benzetilmiş Tavlama ve Su Verme
TAVLAMA ve SU VERME
ısıl işlem metotlarıdır
KOMBİNATORYEL ENİYİLEME ARAÇLARI-6 • Vaka Tabanlı Gerekçeleme
NEUR O-F UZ ZY E XPE RT SYST EMS BULA NIK AĞLI UZMAN Sİ ZTEMLER
NEL ER Y API LABİ LİR ? • • • • • •
Akıllı Trafik Kavşakları, Akıllı Binalar Akıllı İmalat Sistemleri Akıllı Denetim Sistemleri Eniyileme Borsa endeks, döviz ve enflasyon tahminleri Dilden dile çeviri
Yaygın Yapay Zeka Tekniklerinin Kullanımı
TEŞEKKÜRLER © Türkay Dereli
SABIRLA DİNLEDİĞİNİZ İÇİN... www.gantep.edu.tr/~dereli
[email protected]