Professional Documents
Culture Documents
ozturk@gazi.edu.tr
Kaynaklar:Stuart Russell and Peter Norvig, ‘Artificial Intelligence: A Modern Approach,
Anonim Kaynaklar
1-Giriş
Dersin amacı
Dersin içeriği
Dersin işlenişi
Değerlendirme
Kaynaklar
Öğrencilerden beklenenler
Amaç
4-Genetik Arama
- Temel Kavramlar
- Popülasyon, Çaprazlama, Mutasyon
-İnceleme-2
5-Bulanık Mantık
-Keskin ve Bulanık Kümeler
-Üyelik Fonksiyonları
-Bulanık Kural Tabanı
-Durulaştırma
-Örnek Uygulama
-İnceleme-3
Sayısı Toplam
Katkısı (%)
Ara sınav 1 30
Ödev, Proje n 30
.
Giriş
We call ourselves Homo sapiens —man the wise-because our intelligence is so important to
us.
Homo sapiens sapiens, Homo sapiens sapiens, "düşündüğünün üstüne düşünebilen insan"
demektir. Bu düşünceyi ortaya ilk Rene Descartes atmıştır. Günümüz modern insanı bu alt
türe mensuptur ancak çoğunlukla sadece Homo sapiens olarak anılır.
Binlerce yıldır, insan oğlunun nasıl düşündüğünü anlamaya çalışıyoruz, bir avuç madde
(beyin), yani sadece bir avuç madde, kendisinden çok daha büyük ve daha karmaşık bir
dünyayı nasıl algılayabilir, anlayabilir, tahmin edebilir ve manipüle edebilir.
Yapay zeka (YZ) veya AI alanı daha da ileri gider: sadece anlamaya değil, aynı zamanda
akıllı varlıkları da inşa etmeye çalışır.
Zeka ve Türleri
Zekâ, zihnin öğrenme, öğrenilenden yararlanabilme, yeni durumlara
uyabilme ve yeni çözüm yolları bulabilme yeteneğidir. Başka bir deyişle
anlak (zeka), zihnin birçok yeteneğinin uyumlu çalışması sonucu ortaya
çıkan bir yetenekler birleşimidir. TanımlarZekânın ne olduğu ile ilgili
tartışmalar yıllardan beri sürmektedir. Kullanılan Tanımlar
Batıda kullanılan ilk zekâ ölçerini Fransız psikolog Alfred Binet ve Dr.
Theodor Simon üretmiştir. 1905'te yayımlanan bu testin adı "Binet-
Simon Testi"dir.
Yunan filozofu Aristoteles, “doğru düşünme” yi, yani reddedilemez akıl yürütme süreçlerini
kodlayan ilk kişilerden biriydi. Örneğin “Sokrates bir insandır; tüm erkekler ölümlüdür; bu
nedenle Sokrates ölümlüdür. ”Bu düşünce yapısı mantık/logic denilen alanı başlattı. Bu
yaklaşımın iki ana engeli vardır. Birincisi, özellikle bilginin elde edilemsi. İkincisi, bir
problemi “prensipte” çözmek ve pratikte çözmek arasında büyük bir fark.
YZ çok disiplinli bir alandır bir çok bilim dalı ile ilişkilidir, bunlardan
bazıları
Bilgisayar bilimleri ve mühendisliği (donanım ve yazılım)
Felsefe (muhakeme kuralları)
Matematik (mantık, algoritmalar, optimizasyon)
Kavram bilimi ve psikoloji (insanın yüksek seviyede düşünme
sürecinin modelleştirilmesi)
Sinir bilimi (Neuroscience -insanın aşağı beyin faaliyetinin
modelleştirilmesi)
Dilbilim
YZ Tarihi
Yapay Zekanın Gebeliği (1943–1955)
Şimdi AI olarak tanınan ilk çalışma Warren McCulloch ve Walter Pitts (1943)
tarafından yapıldı. Nöronların temel fizyolojisi ve işlevinden esinlenerek
yapay nöron modeli önermişlerdir.
The Rise of AI
https://www.youtube.com/watch?v=Dk7h22mRYHQ
In the Age of AI (full film) | FRONTLIN
https://www.youtube.com/watch?v=5dZ_lvDgevk
Artificial intelligence & algorithms: pros & cons | DW
Documentary (AI documentary)
https://www.youtube.com/watch?v=s0dMTAQM4cw
Who Invented A.I.? - The Pioneers of Our Future
https://www.youtube.com/watch?v=IBe2o-cZncU
Google Translate
Intelligent Agents
CHAPTER 2
Kaynak: http://sadievrenseker.com/wp/?page_id=1185
Outline
Problemler
5
Arama Stratejileri
1-Optimizasyon
• Optimizasyon, özel durumları modelleyen matematiksel
formülleri kullanarak en iyi mümkün çözümü bulmaya
çalışır.
• Problem alanı kurallara uygun bir biçimde
yapılandırılmalıdır ve optimizasyon tek adımlı formül ya
da bir algoritma ile yönetilir. Algoritmanın, çözümlerin
üretildiği ve olası iyileştirmeler için test edildiği bir
adım-adım arama prosesi olduğunu anımsayınız.
• Mümkün olduğu durumda iyileştirme yapılır ve yeni
çözüm bir iyileştirme testine tabi tutulur. Bu proses
iyileştirme yapılamayacak duruma gelinceye kadar
devam eder.
• Optimizasyon; iş araştırması (yönetim bilimi) ve
matematik gibi yapay zeka olmayan teknolojilerde geniş
çapta kullanılmaktadır.
6
7
8
9
2-Uninformed (blind) «Bilmeden- kör» arama
10
2-Kör Arama (Blind Search) devam
14
2.1 Breath-First Search – BFS (Genişlik Öncelikli Arama)
Derinlik 0
Derinlik 1
Optimum
*
sonuç
2
3
amaç
17
Breadth-First Search (BFS) (devam)
Derinlik 0
Derinlik 1
Optimum
*
sonuç
2
3
amaç
Dallanma faktörü b = 3
Derinlik d= 2
18
Breadth-First Search (BFS) (devam)
Derinlik 0
Derinlik 1
Optimum
*
sonuç
2
3
amaç
19
Breadth-First Search (BFS) (devam)
(a)
(c,b)
20
(d,e,c) (f,g,d,e)
Breadth-First Search (BFS) (devam)
(A)
(B,C)
(C,D,E) (D,E,F,G) 21
Breadth-First Search (BFS) (devam)
Adım1
22
Breadth-First Search (BFS) (devam)
Adım3
23
Breadth-First Search (BFS) (devam)
Adım4
24
Breadth-First Search (BFS) (devam)
Adım5
25
Breadth-First Search (BFS) (devam)
Adım6
26
Breadth-First Search (BFS) (devam)
Adım7
27
Breadth-First Search (BFS) (devam)
Adım8
28
Breadth-First Search (BFS) (devam)
Adım9
29
Breadth-First Search (BFS) (devam)
Adım10
30
Breadth-First Search (BFS) (devam)
Adım11
31
Breadth-First Search (BFS) (devam)
Adım12
32
Genişlik Öncelikli Arama Algoritması
33
Uniform Cost Search – UCS
(Düşük Maliyetli Arama)
Genişlik öncelikli aramaya benzer.
Dallar üzerinde toplam en düşük maliyetli düğümü seçer ve genişletir.
b = dallanma faktörü,
C*= en düşük maliyetli çözümün derinliği
A A A A
1 15 1 15 1 15 1 15
5 5 5 5
B C D B C D B C D B C D
5 10 10 5 10 5
E F F E F E
10 1
1 1
F F
Repeat until (Liste boş ise) veya (ilk düğüm n amaç durum ise):
Eğer n Amaç düğüm ise başarı, değilse hata değeri geri döndür
35
Romanya Ziyareti Bucharest’e kadar
olan doğrusal uzaklık
75 211
80
A 140
R B
97 P
120 101
118
D 146 138
75
T 111 L 70 M
C
37
Uniform Cost Search (devam)
A
Z75 T118 S140 O
71 151
S F
T118 S140 O146 Z 99
38
3-Depth-First Search – DFS
(Derinlik Öncelikli Arama)
Seviye 0
Seviye 1
Seviye 2
Seviye 3
Seviye 1
Seviye 2
Seviye 3
40
Depth-First Search – DFS (Derinlik Öncelikli Arama)
41
Depth-First Search – DFS (Derinlik Öncelikli Arama)
42
Komşuluk Matrisinin Oluşturulması ve Örnek
a b c d e f g
0 1 2 3 4 5 6
a 0 0 1 1 0 0 0 0
b 1 1 0 0 1 1 0 0
c 2 1 0 0 0 0 1 1
d 3 0 1 0 0 0 0 0
e 4 0 1 0 0 0 0 0
f 5 0 0 1 0 0 0 0
g 6 0 0 1 0 0 0 0
43
Komşuluk Matrisinin Oluşturulması ve Örnek
Komşuluk Matrisi (Adjacency&Neighborhood Matrice)
#include <stdlib.h>
#include <stdbool.h> a b c d e f g
#define MAX 7 0 1 2 3 4 5 6
// komsuluk matrisi a 0 0 1 1 0 0 0 0
// ABCDEFG b 1 1 0 0 1 1 0 0
// 0123456 c 2 1 0 0 0 0 1 1
int Array[MAX][MAX]= {{0,1,1,0,0,0,0}, //0-A d 3 0 1 0 0 0 0 0
{1,0,0,1,1,0,0}, //1-B e 4 0 1 0 0 0 0 0
{1,0,0,0,0,1,1}, //2-C f 5 0 0 1 0 0 0 0
{0,1,0,0,0,0,0}, //3-D g 6 0 0 1 0 0 0 0
{0,1,0,0,0,0,0}, //4-E
{0,0,1,0,0,0,0}, //5-F
{0,0,1,0,0,0,0}}; //6-G
//ziyaret edilme durumlarını tuttuğumuz dizi
bool visited[MAX];
//recursive DFS kodu
void DFS(int root, bool visited[])
{ int i;
//başlangıç düğümünü ziyaret edildi olarak işaretliyoruz.
visited[root] = true;
printf("%d ", root);
for( i = root; i < MAX; i++)
{ if(Array[root][i] == 1 && visited[i] == false)
{ DFS(i, visited); }
}
}
int main()
{
DFS(0, visited);
return 0; 44
}
Depth-First Search – DFS (Derinlik Öncelikli Arama)
45
Depth-First Search – DFS (Derinlik Öncelikli Arama)
46
Depth-First Search (DFS) (devam)
Amaç
Derinlik
d Amaç
… 47
Depth-First Search (DFS) (devam)
48
Depth-First Search (DFS) (devam)
49
Depth-First Search (DFS) (devam)
50
Depth-First Search (DFS) (devam)
51
Depth-First Search (DFS) (devam)
52
Depth-First Search (DFS) (devam)
53
Depth-First Search (DFS) (devam)
54
Depth-First Search (DFS) (devam)
55
Depth-First Search (DFS) (devam)
56
Depth-First Search (DFS) (devam)
57
Depth-First Search (DFS) (devam)
58
Derinlik Öncelikli Arama Algoritması
59
Problem : 3-bulmaca
Başlangıç : Şekil 1
Durumlar : 4 kare, 3 sayı ve boş
Amaç : En kısa çözüm (Şekil 2)
- Arama uzayı,
- Derinlemesine arama,
- Genişlemesine arama
İşlem : Yukarı, Aşağı, Sağ, Sol, boş alandan yararlanılacak, tekrar
eden hareketler göz ardı edilecek
Maliyet : Her hareket 1 birim
2 3 1 2
1 3
Başlangıç : Şekil 1
Maliyet : 1 birim
K K M M M M K K
Şekil 1: Başlangıç Şekil 2: amaç 61
Problem : S şehrinden G şehrine ulaşmayı Bilgisiz
Arama yöntemleri ile çözme
(BFS, UC, DFS)
Başlangıç : S şehri
Amaç : G şehri
Operatör : Şehirler arası mesafe
62
3-Informed (heuristic) «Bilerek» arama
63
Sezgisel Arama Stratejileri
64
Greedy Best First Search - GBFS
(En İyi Arama)
En İyi Arama, bilgilendiren arama metodlarındandır.
3
GA’da ilk başlangıç bireyleri genellikle rastgele
olarak üretilirler fakat bu bir zorunluluk değildir.
6
Genetic Search- GA
(Genetik Arama)
7
GA’ nın Uygulama Alanları
• Optimizasyon: Sayısal optimizasyon ve kombinetoral optimizasyon
problemleri olan devre tasarımı, doğrusal olmayan denklem sistemlerinin
çözümünde ve fabrika-üretim planlamasında kullanılır.
• Otomatik Programlama (automatic programming): Bilgisayar programları
yardımıyla network sıralamasında (sorting), ders programı hazırlanmasında
kullanılır.
• Makine öğrenmesi (machine learning): Robot sensorlerinde, yapay sinir
ağlarında, VLSI yonga tasarımı ve protein yapısal analizinde kullanır.
• Ekonomi (economics): Ekonomik modellerin geliştirilmesinde ve işlemesinde
kullanılır.
• İmmün sistemler (Immune systems): Çok-gen’li ailelerin evrimi esnasında ve
doğal immün sistem modellerinde kullanılır.
• Topluluk genetiği (population genetics): Evrim ile ilgili sorulara cevap
bulmada kullanılır.
• Evrim ve öğrenme (evolution and learning): Fertlerin öğrenmesini ve türlerin
evrilmesinde kullanılır.
• Sosyal sistemler (social systems): Sosyal sistemlerin analizinde kullanılır.
8
Uygulanması
GA basit olarak aşağıdaki temel adımlardan oluşmaktadır:
9
GA Uygulanması
1 2
4 3
10
GA Tanımlar
Gen
Yapısında probleme ait en küçük bilgiyi taşıyan birime
gen denir. GA’nın kullandığı programlama yapısında bu
gen yapıları programcının tanımlamasına bağlıdır. Bir
genin yapısında sadece ikili tabandaki (binary) sayıları
içerebileceği gibi, gray, tam sayı, gerçel sayı veya ağaç
biçimini ve farklı sembolik ifadeleri de içerebilir. Kodlama
biçimi, GA’nın performansını oldukça önemli oranda
etkiler; fakat kodlama biçimi programa bağlı olduğundan
bütün problemler için geçerli en uygun kodlama biçimini
söylemek imkânsızdır.
Kromozom (Birey)
Birden fazla genin bir araya gelerek oluşturduğu diziye denir.
Kromozomlar, alternatif aday çözümleri gösterirler
12
GA Tanımlar
• Kodlama/Şifreleme
– Kodlama GA’nın çok önemli bir kısmını
oluşturmaktadır.
– Probleme GA uygulanmadan önce, verinin uygun
şekilde kodlanması gerekmektedir.
– Kurulan genetik modelin hızlı ve güvenilir
çalışması için bu kodlamanın doğru yapılması
gerekmektedir.
Kodlama yöntemleri aşağıdaki gibi sınıflandırılabilir
1-Binary kodlama
2-Gerçek sayı kodlaması
3- Tam sayı veya Permütasyon kodlama
4-Genel Veri yapısı kodlama
Bunlar tek boyutlu veya çok boyutlu veri yapıları ile
gerçekleştirilir. 13
GA Operatörler
GA’nın temel yapısını oluşturan ve algoritmanın işleyişi sırasında mevcut
popülasyon üzerinde uygulanan işlemlere, genetik operatörler denir.
Bu operatörler, seçme (selection) ya da tekrar üreme (reproduction)
operatörü, çaprazlama (crossover) operatörü ve mutasyon (mutation)
operatörüdür. Bunlara ilaveten kısıtlı eniyileme problemlerinde mutlak
suretle kullanılması gereken ve probleme özgü olarak geliştirilen diğer bir
operatör de tamir (reparation) operatörüdür. Genetik operatörler, daha iyi
özelliklere sahip nesiller üreterek çözüm uzayını genişletir. Kullanılan üç
standart operatör vardır:
1- Seçim (Selection), var olan bireyi genetik yapısında herhangi bir
değişiklik yapmadan yeni nesile kopyalar.
2- Çaprazlama (Crossover), iki bireyin yapılarının rastlantısal olarak
birleştirilerek yeni bireyler oluşturulmasıdır. İşlem, ikili dizilerin parçalarının
değiş tokuşu ile gerçekleştirilir.
3- Mutasyon (Mutation), var olan bir bireyin genlerinin bir ya da birkaçının
yerlerinin değiştirilmesi ile oluşur.
14
Kromozomun şifrelenmesi
• 1. İkili kodlama
Kromozom A: 101110010110
Kromozom 2: 010110100000
15
Kromozomun şifrelenmesi (Devam..)
• 2. Permütasyon kodlama
Kromozom A: 35127604
Kromozom B: 01562347
16
Gen takası (Çaprazlama) ve Mutasyon
17
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
18
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
Çaprazlama:
• Kromozom-1 : 123456789
• Kromozom-2 : 453689721
• Çocuk-1 : 123489721
• Çocuk-2 : 453656789
19
Kromozom Seçimi
• Yaygın kromozom seçim yöntemleri şöyle
verilebilir.
• 1-Rulet Tekerleği seçimi
• 2- (m-l) mu-lamda seçimi
• 3-Turnuva seçimi
• 4-Sabit durum üretme
• 5-Paylaşım
21
Kromozom Seçimi (Devam..)
• 2. Sıralama seçimi
Rulet tekeri seçimi, uygunluklar çok farklıysa problemlere yol
açar. (Örneğin, en iyi kromozomun uygunluğu %90 ise diğer
kromozomlar çok az seçilme şansına sahip olacaktır.)
22
Kromozom Seçimi (Devam..)
23
Genetik Algoritmaların Çalışma Prensibi
• Adım 1: Olası çözümlerin kodlandığı bir çözüm grubu oluşturulur
(çözüm grubu (population), çözümlerin kodları (string) da kromozom
olarak adlandırılır).
• Adım 2: Her kromozomun ne kadar iyi olduğu bulunur (fitness
function).
• Adım 3: Bu kromozomlar eşlenerek (mating), yeniden kopyalama
(recombination) ve değiştirme (crossover) operatörleri uygulanır. Bu
sayede yeni bir toplum oluşturulur.
• Adım 4: Yeni kromozomlara yer açmak için eski kromozomlar
ortadan kaldırılır.
• Adım 5: Tüm kromozomların uygunlukları tekrar hesaplanır.
• Adım 6: İşlemler tekrarlanarak verilmiş zaman içerisinde daha iyi
olan yeni nesillerin oluşturulması gerçekleştirilir (3. adıma gidilir).
• Adım 7: O ana kadar hesaplanma sırasında en iyi kromozom
bulunduğunda istenen sonuç elde edilmiş olur.
24
GA’nın Performansını Etkileyen Nedenler
• Kromozom sayısı: Kromozom sayısını arttırmak çalışma zamanını
arttırırken, azaltmak da kromozom çeşitliliğini yok eder.
25
• Nesillerin birbirinden ayrık olup olmadığı: Normal olarak her nesil
tümüyle bir önceki nesle bağlı olarak yaratılır. Bazı durumlarda
yeni nesli eski nesille birlikte yeni neslin o ana kadar elde edilen
bireyleri ile yaratmak yararlı olabilir.
26
Örnek: Fonksiyon Maksimizasyonu
Problem : f(x)=x², x[0, 31] şeklinde verilen bir fonksiyonun.
Amaç : Verilen aralıkta fonksiyonun maksimizasyonu.
27
Adım 3: Belirlenen bireyler için f(x)=x² ile uygunluk değerlerini
hesaplanır. Dört bireyin toplam uygunluk değerleri;
28
Adım 4: Toplumda ki birey sayısının sabit kaldığı
varsayıldığından, rulet tekerleği 4 kere çevrilerek çiftleşme
havuzu oluşturulur.
Birey 1 : 1 kere
Birey 2 : 2 kere
Birey 3 : 0 kere
Birey 4 : 1 kere
29
Adım 5: Çiftleşme havuzu belirlendikten sonra iki aşamalı
çaprazlama uygulanır.
İkinci aşamada her ikili grup için birer kere zar atılarak
çaprazlaşmanın oluşacağı nokta belirlenir. Zar atılarak 1. Grup
için k=4 ve 2. Grup içinde k=2 olarak belirlenmiştir.
30
Adım 6: Son aşama olan mutasyon işlemi bitler düzeyinde uygulanır.
Birey 3’ün 2 numaralı bitinde mutasyon işlemi tapılmaktadır.
Oluşan Birey 3 : 11011
Mutasyon sonucu oluşan Birey 3 : 10011
Bu adımın tamamlanmasıyla bir sonraki kuşağı oluşturacak toplumun
bireyleri belirlenmiş olur. Yeni toplum şu şekildedir;
Birey 1 : 01100, x=12, x²=144
Birey 2 : 11001, x=25, x²=625
Birey 3 : 10011, x=19, x²=361
Birey 4 : 10000, x=16, x²=256
31
Maksimum Güç Aktarılması için Ryuk değerinin
GA ile bulunması
AB uçlarına göre Thevenin eşdeğeri çıkarılmış bir devreye bağlanacak Ryuk
direncine maksimum güç aktarılmak istenmektedir. Buna göre Ryuk değerini
bulalım.
- Bilindiği gibi bu durumda, Maksimum Güç Teoremi kullanılır ve Ryuk=Rth
olduğu anda yuk direncine maksimum güç aktarılmaktadır.
Thevenin eşdeğeri elde edilmiş devrede
Vth=100 volt, Rth=12 Ohm olsun
Güç hesap fonksiyonu
Değeri 0<Ryuk<50 ohm arasında
değiştirdiğimizde elde edilen Güç –
Direnç eğrisi
y=(vth./(rth+x)).^2.*x;
>> x_max=x(index);
>> [x fval]=ga(@Ryuk,1)
x = 12.0208
fval = 291.6668
>> 500-fval
ans = 208.3332
Optimization Toolbox’ı ile GA çalıştırılması
>> optimtool
Doğru Akım Makinası Denetimi
Yöntem, aynı zamanda, birinci vitesten ikinciye sorunsuz bir şekilde geçiş yapan bir
otomobil şanzımanı veya sıcaktan soğuğa sorunsuz akan bir termostat gibi, bir
durumdan diğerine kademesiz hareket eden makine ve elektronik cihazların
oluşturulmasına yardımcı olabilir. Sıcak ve soğuk kesin olarak tanımlanmaya ihtiyaç
duymaz. Bir süreklilik içinde var olabilirler. Bu açıdan bakıldığında Analog Sinyallere
göre çalışan gerçek dünyamızdaki probemleri/değerlerin ikili sisteme göre çalışan
bilgisayar ortamına aktarılmasını sağlarlar.
1980'lerde, Profesör Zadeh’in fikirleri, Japon üreticiler arasında popüler oldu.
(Obituary for Lotfi A. Zadeh, IEEE Magazine, NYT, Lotfi Zadeh, Father of Mathematical
‘Fuzzy Logic,’ Dies at 96)
KULLANIM ALANLARI
Havacılık/Deniz/Kara İşletme /Finans
Kaynak: Akı S.
https://www.amazon.com/Zojirushi-NS-ZCC10-Uncooked-Premium-1-0-
Liter/dp/B07VW61QFC
Avantajları
Dezavantajları
Bu aralık sıcaklık kümesinin Ankara için çözüm uzayını belirler. Günlük dilde bu sıcaklık
uzayının da bir takım alt aralıklardan oluştuğu düşünülür. Sıcaklık Kümesinin Alt Kümeleri:
Çok Sıcak, Sıcak, Ilık, Soğuk ve Çok Soğuk kümeleridir. Bu kümelere bir değer ya üyedir
(üyelik değeri 1 ) yada üye değildir (üyelik değeri 0)
1, 𝑖𝑓 𝑥 ∈ 𝑆𝐼𝐶𝐴𝐾
fSICAK(x): X –> 0,1 , burada
0, 𝑖𝑓 𝑥 ∉ 𝑆𝐼𝐶𝐴𝐾
Yukarıdaki şekil için A bulanık kümesi ve onun üyelik fonksiyonu fA(x) olsun.
CORE (ÖZ): fA(x) =1 olan öğelerin toplandığı bu alt küme kısmına denir
SINIR –GEÇİŞ BÖLGESİ (Boundry) : Üyelik dereceleri 1 veya 0 eşit olmayan elemanlrın
oluşturduğu kısımlara denir tanım
1>fA(x)>0
BULANIK KÜMELERDE CEBİRSEL İŞLEMLER
Birleşme ve Keşişme işlemlerine ek olarak, bulanık kümelerin kombinasyonlarını
oluşturmak ve bunları birbirleriyle ilişkilendirmek için kurallar şöyle tanımlanabilir
X evrensel kümesindeki A bulanık kümesi üyelik (karaktersitlik ) fonksiyonu fA(x)
İle temsil edilir. Bu değer reel sayı ile ilişkilidir. Karakteristlik fonksiyonuna karşılık gelen
değer A evrensel kümesine ait x’in üyelik değeri olarak adlandırılır.
Kapsama: Aşağıdaki şekilde, B kümesi A kümesini kapsamaktadır veya A kümesi B
kümesinin bir alt kümesidir denir. Aynı zamanda A B’den küçük veya eşittir.
BİRLEŞME
A ve B bulanık Kümelerinin üyelik fonksiyonları sırasıyla fA(x) VE fB(x) bunların birleşimi
yine bir bulanık küme C olur. Şöyle yazılabilir
C=AUB üyelik fonkisyonları ile ifadesi
Kısaltılmış formda
Bilindiği gibi (AUB)UC=AU(BUC) dağılma Özelliğinden yazılabilir
Birleşme Özelliği
için şu ifadelerde
yazılabilir
A ve B D’nin alt
kümesi ise
Kısaltılmış formda
-3 -2 -1 0 1 2 3 4 5
Veya
Cebirsel Toplama ve Çıkarma
A ve B nin cebirsel toplamı A+B ile ifade edilir, A ve B’nin üyelik fonksiyonları ile
Toplamada
Mutlak Fark. A ve B arasındaki mutlak fark
Şeklinde tanımlıdır. A O B in A U B kısaltılmasıdır
Convex Combination (DışBükey Birleşim)
A, B ve bulanık kümeler olsun bunların convex birleşimi
ÖRNEK:
ÖRNEK:
Dört kişilik aile bir ev almak istemektedir. Öncelikleri Büyük ve Konforlu bir evdir.
Bu amaçla 10 tane eve bakmışlarve yatak odası sayısı X’dir ve K Konfor bulanık
kümesi ve B’de Buyuk bulanık Kümesini göstersin
X= 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10
K= 0.2, 0.5, 0.8, 1.0, 0.7, 0.3, 0.0, 0.0, 0.0, 0. 0
B= 0.0, 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.0, 1.0, 1.0
Konfor ve Buyukluk kümesinin kesişimi şöyle olur min(K∩B)
K∩B= 0.0, 0.0, 0.2, 0.4, 0.6, 0.3, 0.0, 0.0, 0.0, 0.0
Kesişme kümesi yorumlanırsa, en büyük üyelik değeri 0.6 olan beş yatak odası en
uygun olarak bulunmuştur. Bununla birlikte, üyelik 1'den az olduğu için tam olarak
tatmin edici değildir.
İkinci en iyi çözüm dört yatak odası, üyelik 0.4'tür. Aile muhtemelen daha iyi bir teklif
gelene kadar bekleyebilir ve böylece tam bir memnuniyet (üyelik 1) elde etmeyi
umabilir.
B’=1-B= 1.0, 1.0, 0.8, 0.6, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0
K∩B’= 0.2, 0.5, 0.8, 0.6, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0
Hem (iii) hem de (iv) eşit derecede geçerli görünmektedir, bu nedenle Birleşme işlemi
uygulanabilir. Bizim tanımımızla, bu en güçlü ilişkiyi, yani maksimum üyelik değerini
seçmeye karşılık gelir. Nihai sonuç ifadesi
(v) Huey Donald’a 0.6 benzer olur.
Bulanık ilişkileri birleştirirken veya oluştururken genel kural, bir "seri bağlantı" daki
minimum bulanık değeri ve "paralel bağlantı" daki maksimum değeri seçmektir.
Yukarda verilen R1 ve R2 tabloları için şöyle yazılabilir;
1-TÜMLEME (COMPLEMENT)
1 a
N s (a )
1 sa
2. Yager’s Complement:
N w ( a ) (1 a w )1/ w
2-KAPSAMA (CONTAINMENT)
Aşağıdaki şekilde, B kümesi A kümesini kapsamaktadır veya A kümesi B kümesinin bir alt
kümesidir denir. Aynı zamanda A B’den küçük veya eşittir.
3-BİRLEŞME (UNION))
A ve B bulanık Kümelerinin üyelik fonksiyonları sırasıyla fA(x) VE fB(x) bunların birleşimi
yine bir bulanık küme C olur. Şöyle yazılabilir
C=AUB üyelik fonkisyonları ile ifadesi
Kısaltılmış formda
Bilindiği gibi (AUB)UC=AU(BUC) dağılma Özelliğinden yazılabilir
Birleşme Özelliği
için şu ifadelerde
yazılabilir
A ve B D’nin alt
kümesi ise
Kısaltılmış formda
-3 -2 -1 0 1 2 3 4 5
X ve Y iki bulanık küme olsun bunlar arasındaki R ilişkisi bu kümlerin alt kümesidir. A ve
B nin cebirsel çarpımı AB ile gösterilir A ve B’nin üyelik fonksiyonları ile :
R {(( x, y ), R ( x, y ))|( x, y ) X Y}
R ∈ F (X × 𝑌) R ilişkisi x y nin kartezyen çarpımının elemanı ve X=Y ise R X’te binary
bulanık ilişki olarak tanımlanır.
ÖRNEK: U = 1, 2,3 kümesinde yaklaşık eşit olarak adlandırılan binary bulanık ilişki şöyle
tanımlanabilir.
R(1,1) =R(2,2)=R(3,3)= 1
R(2,1)=R(2,3)=R(3,2)=0.8
R(1,3)=R(3,1)=0.3
MaTRİS OLARAK
BULANIK KÜMELERDE CEBİRSEL İŞLEMLER
Cebirsel Çarpma
A ve Bnin cebirsel çarpımı AB ile gösterilir A ve B’nin üyelik fonksiyonları ile :
Veya
Cebirsel Toplama ve Çıkarma
A ve B nin cebirsel toplamı A+B ile ifade edilir, A ve B’nin üyelik fonksiyonları ile
Toplamada
Mutlak Fark. A ve B arasındaki mutlak fark
Şeklinde tanımlıdır. A O B in A U B kısaltılmasıdır
Convex Combination (DışBükey Birleşim)
A, B ve bulanık kümeler olsun bunların convex birleşimi
ÖRNEK:
ÖRNEK:
Dört kişilik aile bir ev almak istemektedir. Öncelikleri Büyük ve Konforlu bir evdir.
Bu amaçla 10 tane eve bakmışlarve yatak odası sayısı X’dir ve K Konfor bulanık
kümesi ve B’de Buyuk bulanık Kümesini göstersin
X= 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10
K= 0.2, 0.5, 0.8, 1.0, 0.7, 0.3, 0.0, 0.0, 0.0, 0. 0
B= 0.0, 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.0, 1.0, 1.0
Konfor ve Buyukluk kümesinin kesişimi şöyle olur min(K∩B)
K∩B= 0.0, 0.0, 0.2, 0.4, 0.6, 0.3, 0.0, 0.0, 0.0, 0.0
Kesişme kümesi yorumlanırsa, en büyük üyelik değeri 0.6 olan beş yatak odası en
uygun olarak bulunmuştur. Bununla birlikte, üyelik 1'den az olduğu için tam olarak
tatmin edici değildir.
İkinci en iyi çözüm dört yatak odası, üyelik 0.4'tür. Aile muhtemelen daha iyi bir teklif
gelene kadar bekleyebilir ve böylece tam bir memnuniyet (üyelik 1) elde etmeyi
umabilir.
B’=1-B= 1.0, 1.0, 0.8, 0.6, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0
K∩B’= 0.2, 0.5, 0.8, 0.6, 0.4, 0.2, 0.0, 0.0, 0.0, 0.0
Hem (iii) hem de (iv) eşit derecede geçerli görünmektedir, bu nedenle Birleşme işlemi
uygulanabilir. Bizim tanımımızla, bu en güçlü ilişkiyi, yani maksimum üyelik değerini
seçmeye karşılık gelir. Nihai sonuç ifadesi
(v) Huey Donald’a 0.6 benzer olur.
Bulanık ilişkileri birleştirirken veya oluştururken genel kural, bir "seri bağlantı" daki
minimum bulanık değeri ve "paralel bağlantı" daki maksimum değeri seçmektir.
Yukarda verilen R1 ve R2 tabloları için şöyle yazılabilir;
Tipik tek döngülü bir kontrol problemi hata sinyalini işleyerek sistemi denetler. Klasik
Kontrol sisteminde e(t) sinyali denetleyicinin girişidir. Ve yeterlidir
BULANIK MANTIK DENETLEYİCİ
Tipik tek döngülü bir kontrol problemi hata sinyalini işleyerek sistemi denetler. Klasik
Kontrol sisteminde e(t) sinyali denetleyicinin girişidir. Ve yeterlidir, Bulanık denetimde
ise bu tip kontrol doğrusal/orantısal kontrole yol açacağı için yetersizdir. Bu nedenle
Bulanık Mantık Denetleyicin girişi hata, hata_degisimi, ve hataların_toplamı gibi
değerler alır.
KURAL TABANI OLUŞTURMA
Dikkat edilirse nceki bilgilerden iki bulanık kümenin işlemleri sonucu bulanık küme
oluşyordu bu durumda Çıkışında bir bulanık küme olması gerekmektedir.
R1: Eğer hata=Neg ve hata_degisimi=Neg ise Çıkış = NB
Tipik tek döngülü bir kontrol problemi hata sinyalini işleyerek sistemi denetler.
Klasik Kontrol sisteminde e(t) sinyali denetleyicinin girişidir. Ve yeterlidir
BULANIK MANTIK DENETLEYİCİ (BMD)
Genel olarak bir BMD denetleyicili sistemin blok şeması aşağıda gösterilmektedir:
Bulandırma, sistemden alınan denetim giriş bilgilerini dilsel niteleyiciler olan sembolik
değerlere dönüştürme işlemidir. Üyelik işlevinden faydalanılarak giriş bilgilerinin ait
olduğu bulanık kümeyi/kümeleri ve üyelik derecesini tespit edip, girilen sayısal
değere küçük, en küçük gibi dilsel değişken değerler atar
BULANIK MANTIK DENETLEYİCİ (BMD)
a- Dilsel Değişkenler;
b- Üyelik Fonksiyonları ,
c- Kural Tabanı;
d- Bulanık denetim kurallarının çıkarım bilgileri
Bilgi Tabanı : Bulanık Çıkarım- Fuzzy Inference; Kural tabanının da kullandığı bilgileri
aldığı veri tabanı (data base) ve denetim amaçlarına uygun dilsel denetim kurallarının
bulunduğu kural tabanı (rule base) olmak üzere iki kısma ayrılabilir.
Burada amaç kesin rakamların yerine dildeki ifadeleri kullanarak mantıkta yapıldığı gibi
hesaplamaların yapılabilmesidir.
“Bu gün hava çok sıcaktır” cümlesinde “Bu günün hava sıcaklığı” bir değişken ve “çok”
onun değeri olarak ele alınabilir.
“Hava sıcaklığı” değişkeni rakam olarak 250C, 300C vs. değerler aldığında bu değişkeni
matematiksel olarak işlemek için iyi yöntemler mevcuttur.
Kabaca, eğer değişkenin değeri olarak tabii dilde kullanılan kelimeler ele alınırsa bu
değişkene dilsel değişken denmektedir.
Şekil 2.1’de görüldüğü gibi dilsel değişken olan “arabanın hızı” değişkeni “yavaş”, “orta”
ve “hızlı” değerleri almaktadır. Ama bu değerlerden başka “arabanın hızı” “çok yavaş”,
“azçok yavaş”, “çok hızlı”, “az hızlı” vb gibi değerlerde alabilir.
Bu değerleri ifade edebilmek için kullanılan terimler Engeller-Çitler (Hedges) denir
Dikkat edilirse nceki bilgilerden iki bulanık kümenin işlemleri sonucu bulanık küme
oluşyordu bu durumda Çıkışında bir bulanık küme olması gerekmektedir.
R1: Eğer hata=Neg ve hata_degisimi=Neg ise Çıkış = NB
me m(de) m(du)
N S 1 P N S 1 P NB N S P PB de
e N S P
N P P S
S P S N
P S N N
-2 0 2 -0.5 0 0.5 -8 -4 0 4 8
e=-1.4 de=0.3
de
e N S P
m(du)
N P P S NB N S P PB
S P S N 0.6
P S N N 0.4
0.3
me m(de) m(du)
N S 1 P N S 1 P NB N S P PB de
e N S P
N pb P S
S P S N
P S N NB
-2 0 2 -0.5 0 0.5 -8 -4 0 4 8
e=-1.4 de=0.3
de
e N S P
m(du)
N PB P S NB N S P PB
S P S N 0.6
P S N NB 0.4
0.3
X
Giriş NB NS Z P PB
Y
Z NB Z PB Z
Çıkış
Kural Tablosu
Durulama için Ağırlık merkezi (centroid) yöntemini kullanalım ve Çıkış aşğaıda verilen dört üyeli
fonksiyonu Singleton olsun,
NB NS Z P PB
Z
Z NB Z PB Z
-135 -45
X1=-135 derece iken çıkış Kural 3 ü n çalışması X1=-45 derece iken çıkış Kural 1’in çalışması
DE Kuralların İşlenmesi
Neg Zero Pos
E
Neg NB N Z
Zero N Z P
Pos Z P PB
Bulanık Kuralların
oluşturulması
Kuralların Çalışması Kural Yüzeyi
KAYNAKLAR
Elmas Ç., Yapay Zeka Uygulamaları, Seçkin Yayıncılık, 4. Basım, 2011
Zadeh L.A., Fuzzy Sets, Information and Control 8, 338-353, 1965