Bulanık mantık. "Elektronik beyinlere" insan gibi düşünmeyi öğretiyoruz. Bulanık kümeler ve bulanık mantık teorisinin temelleri

  • 01.09.2019

Bulanık mantık (Bulanık mantık) karmaşık teknolojik süreçleri oluşturmanın en uygun yolu olarak ortaya çıkmış ve ayrıca tüketici elektroniği, teşhis ve diğer uzman sistemlerde uygulama bulmuştur. Bulanık mantığın matematiksel aygıtı ilk olarak geçen yüzyılın 60'lı yıllarının ortalarında Amerika Birleşik Devletleri'nde geliştirildi; bu yöntemin aktif gelişimi Avrupa'da da başladı.

Klasik mantık eski çağlardan beri gelişmektedir. Aristoteles kurucusu olarak kabul edilir. Mantık, bizim için birçok uygulamalı uygulamaya sahip titiz bir bilim olarak bilinir: örneğin, tüm modern bilgisayarların çalışma prensibi, klasik (Boolean) mantığın hükümlerine dayanır. Aynı zamanda, klasik mantığın önemli bir dezavantajı vardır - yardımı ile bir kişinin çağrışımsal düşüncesini yeterince tanımlamak imkansızdır. Klasik mantık yalnızca iki kavramla çalışır: DOĞRU ve YANLIŞ (mantıksal 1 veya 0) ve ara değerleri hariç tutar. Bütün bunlar bilgisayarlar için iyidir, ancak çevrenizdeki tüm dünyayı yalnızca siyah beyaz olarak hayal etmeye çalışın, ayrıca dilden EVET ve HAYIR dışındaki sorulara verilen yanıtları hariç tutun. Böyle bir durumda, sadece sempati duyabilirsiniz.

Kesin ve açık yasa formülleri ile geleneksel matematik de klasik mantığa dayanmaktadır. Ve sırayla, matematik olduğu için, tüm doğa bilimlerinde (fizik, kimya, biyoloji vb.) ve bunların uygulamalı uygulamalarında (örneğin, ölçüm teorisi, kontrol teorisi, vb.) çevreleyen dünyanın fenomenlerini tanımlamak için evrensel bir araçtır. vb.) .), tüm bu bilimlerin matematiksel olarak doğru verilerle çalışması şaşırtıcı değildir, örneğin: "Bir arabanın yolun 62 km'lik bir bölümündeki ortalama hızı 93 km / s idi." Ama bir insan gerçekten bu kategorilerde düşünüyor mu? Diyelim ki arabanızın hız göstergesi arızalı. Bu, şu andan itibaren hareketinizin hızını değerlendirme fırsatından mahrum kaldığınız ve "Dün eve çabucak geldiniz mi?" gibi soruları yanıtlayamayacağınız anlamına mı geliyor? Tabii ki hayır. Büyük olasılıkla, girdiye yanıt olarak bir şey söyleyeceksiniz: "Evet, oldukça hızlı." Aslında, arabanızın hız göstergesi mükemmel durumda olsa bile, büyük olasılıkla aynı ruhla cevap vereceksiniz, çünkü yolculuk yaparken, okumalarını gerçek zamanlı olarak sürekli izleme alışkanlığınız yok. Yani hız ile ilgili doğal düşüncemizde, km/h veya m/s cinsinden kesin değerlerle değil, "yavaş", "orta", "hızlı" ve "hızlı" gibi kaba tahminlerle çalışma eğilimindeyiz. sayısız yarım ton ve ara tahmin: " kaplumbağa gibi yürüdü "," acele etmeden yuvarlandı "," akıştan çıkmadı "," oldukça hızlı sürdü "," deli gibi koştu ", vb.

Sezgisel hız kavramlarımızı grafiksel olarak ifade etmeye çalışırsanız, aşağıdaki şekle benzer bir şey elde edersiniz.

Burada eksen boyunca x hız değerleri geleneksel katı matematiksel gösterimde ve eksende çizilir Y- sözde. üyelik fonksiyonu (0 ile 1 arasında değişir) hızın tam değeri bulanık küme bir veya başka bir değerle gösterilir dilsel değişken "Hız": çok düşük, düşük, orta, yüksek ve çok yüksek. Bu derecelendirmeler (granüller) daha az veya daha fazla olabilir. Bulanık bilginin tanecikliği ne kadar büyükse, matematiksel olarak doğru bir değerlendirmeye o kadar yaklaşır (geleneksel biçimde ifade edilen ölçüm bilgilerinin her zaman bazı hatalara sahip olduğunu, bu da belirli bir anlamda aynı zamanda bulanık olduğu anlamına geldiğini unutmayın). Böylece, örneğin, 105 km/h hız değeri, üyelik fonksiyonu değeri 0,8 olan bulanık kümeye "yüksek" ve 0,5 değeriyle "çok yüksek" kümesine aittir.

Başka bir örnek, bir kişinin yaşının tahminidir. Genellikle tanıdığımız bir veya başka bir kişinin yaşı hakkında kesinlikle doğru bilgiye sahip değiliz ve bu nedenle ilgili soruyu cevaplarken, "30 yaşında" veya "o" türünden belirsiz bir değerlendirme yapmak zorunda kalıyoruz. 60'ın üzerinde", vb. "Yaş" dil değişkeninin bu tür değerleri: "genç", "orta yaşlı", "yaşlı", vb. Aşağıdaki şekil, bulanık küme "yaşının grafiksel olarak olası bir görünümünü göstermektedir. = genç" en fazla 20 yıl;)

“Tam olarak doğru olmayan ölçümler” sonucunda elde edilen bulanık sayılar birçok yönden benzerdir (ancak aynı değildir! normalleştirme, toplama gereksinimlerine uygunluk, gerçek değerlerin davranışını tanımlamak için matematiksel soyutlamanın yeterliliğini kanıtlamanın zorluğu). Kesin ve ayrıca olasılıklı yöntemlerle karşılaştırıldığında, bulanık ölçüm ve kontrol yöntemleri, gerçekleştirilen hesaplamaların miktarını önemli ölçüde azaltabilir ve bu da bulanık sistemlerin performansında bir artışa yol açar.

Daha önce de belirtildiği gibi, her kesin değerin dilsel değişkenin değerlerinden birine ait olması üyelik fonksiyonu aracılığıyla belirlenir. Görünüşü kesinlikle keyfi olabilir. Şimdi standart üyelik fonksiyonları kavramı oluşturulmuştur (aşağıdaki şekle bakınız).

Standart üyelik fonksiyonları çoğu probleme kolaylıkla uygulanabilir. Ancak, belirli bir problemi çözmeniz gerekiyorsa, üyelik fonksiyonunun daha uygun bir formunu seçebilir ve standart tipteki fonksiyonları kullanmaktan daha iyi sistem sonuçları elde edebilirsiniz.

Bulanık bir kümede kesin değerlerin üyeliğinin (grafik veya analitik) bir fonksiyonu oluşturma işlemine denir. bulanıklaştırma veri.

2.1 Bulanık mantığın temel kavramları

Önceki bölümlerde bahsedildiği gibi, klasik mantık sadece iki kavramla çalışır: "doğru" ve "yanlış" ve ara değerleri hariç tutar. Benzer şekilde, Boole mantığı birler ve sıfırlardan başka hiçbir şeyi tanımaz.

Bulanık mantık, doğal dil dönüşlerinin kullanımına dayanmaktadır. Bir kişi gerekli sayıda terim belirler ve her birine açıklanan fiziksel miktarın belirli bir değerini atar. Bu değer için, bir fiziksel niceliğin bir terime (bir değişkeni karakterize eden doğal bir dildeki bir sözcük) üyelik derecesi, seçilen üyelik fonksiyonuna bağlı olarak bire ve diğer tüm değerler için eşit olacaktır.

Bulanık kümeler, "yüksek sıcaklık", "genç adam", "ortalama yükseklik" veya "büyük şehir" gibi kesin olmayan ve belirsiz kavramları resmi olarak tanımlamak için kullanılabilir. Bulanık kümenin tanımını formüle etmeden önce, sözde söylem evrenini tanımlamak gerekir. Belirsiz bir "çok para" kavramı söz konusu olduğunda, kendimizi bir aralıkla ve bir aralık içinde tamamen farklı bir tutarla sınırlandırırsak, bir miktar büyük olarak kabul edilecektir.

Dil değişkenleri:

Dilsel değişken, nitel değerlendirmeleri veya bulanık sayıları ifade eden dilsel değerler kullanılarak ayarlanan bir değişkendir. Dilsel bir değişkenin bir örneği hız veya sıcaklıktır, bir dilsel değerin bir örneği bir özelliktir: büyük, orta, küçük, bir bulanık sayı örneği bir değerdir: yaklaşık 5, yaklaşık 0.

Bir dilsel terim kümesi, bir dilsel değişkeni belirlemek için kullanılan tüm dilsel anlamların kümesidir. Bir değişkenin değer aralığı, incelenen sistemin belirli bir parametresini alabilen tüm sayısal değerler kümesi veya çözülmekte olan problem açısından önemli olan bir dizi değerdir. .

Bulanık kümeler:

evrensel bir küme olsun, - eleman ve - bazı mülkler. Normal (net) alt küme Evrensel set unsurları özelliği karşılayan , sıralı çiftler kümesi olarak tanımlanır
,nerede
- özelliği sağlıyorsa 1, aksi takdirde 0 değerini alan karakteristik fonksiyon.

Bulanık bir altküme, normal bir altkümeden şu şekilde farklıdır: itibaren mülkle ilgili kesin bir evet-hayır yanıtı yoktur. Bu bağlamda, evrensel kümenin bulanık alt kümesi sıralı çiftler kümesi olarak tanımlanır
, nerede
Bazı sıralı kümelerde (örneğin,
). Üyelik fonksiyonu, bir elemanın üyelik derecesini gösterir. çokluk ... Bir çok
çok sayıda aksesuar denir. Eğer
, o zaman bulanık küme sıradan bir kesin küme olarak kabul edilebilir.

Uzayın birçok unsuru
hangisi için
, bulanık kümenin taşıyıcısı olarak adlandırılır. ve belirtilen destek A:

Bulanık küme yüksekliği olarak tanımlandı

Bulanık küme normal olarak adlandırılır ancak ve ancak
... Bulanık bir küme ise normal değil, o zaman dönüşüm kullanılarak normalleştirilebilir

,

nerede
Bu setin yüksekliğidir.

Bulanık küme
, dışbükeydir ancak ve ancak keyfi
ve
koşul karşılandı

2.1.1 Bulanık kümeler üzerinde işlemler

Açılıyor. İzin vermek ve - evrensel bir kümede bulanık kümeler ... öyle diyorlar içinde , Eğer

eşitlik. ve eşit ise

Ek. İzin vermek
,ve - üzerinde tanımlanan bulanık kümeler .ve varsa birbirini tamamlar.

Kavşak.
En büyük bulanık alt küme, aynı anda ve :

Birlik.
- tüm öğeleri içeren en büyük bulanık alt küme ve :

Fark.
- üyelik işlevli alt küme:

2.1.2 Bulanık ilişkiler

İzin vermek
- evrensel kümelerin doğrudan çarpımı ve
- bir takım aksesuarlar. Bulanık bir n-ary ilişkisi, bulanık bir alt küme olarak tanımlanır. üzerinde değerlerini alarak
... Ne zaman
ve
bulanık tutum setler arasında
ve
fonksiyon çağrılacak
her bir eleman çiftine atanan
büyüklük
.

İzin vermek - bulanık tutum
arasında
ve , ve bulanık tutum
arasında ve ... arasındaki bulanık ilişki
ve belirtilen
aracılığıyla tanımlanmış ve ilişki kompozisyonu denilen ifade ve .

Bulanık ima.

Bulanık ima, formun bir kuralıdır: IF
SONRA
,nerede
- durum ve
- sonuç ve ve - üyelik fonksiyonları tarafından verilen bulanık kümeler
,
ve tanım alanları
,sırasıyla. ima olarak belirtilir
.

Klasik ve bulanık çıkarımlar arasındaki fark, klasik bir çıkarım durumunda, koşul ve sonucun ya kesinlikle doğru ya da kesinlikle yanlış olabileceği, bulanık bir çıkarım için ise aralığa ait bir değerle bunların kısmi gerçekliğine izin verilmesidir. Bu yaklaşımın bir takım avantajları vardır, çünkü pratikte kuralların koşullarının tamamen karşılandığı durumlar nadirdir ve bu nedenle sonucun kesinlikle doğru olduğu varsayılamaz.

Bulanık mantıkta birçok farklı çıkarım operatörü vardır. Hepsi, verimlilik derecesi özellikle modellenen sisteme bağlı olan farklı sonuçlar verir. En yaygın çıkarım operatörlerinden biri, sonucun doğruluk derecesi varsayımına dayanan Mamdani operatörüdür.
koşulun yerine getirilme derecesinden daha yüksek olamaz
:

2.2 Bulanık bir sistemin inşası

Yapay zekanın geliştirilmesinden itibaren uzman sistemler, karar destek sistemleri olarak sürekli olarak tanınmaya başladı. Bir kişinin çeşitli faaliyet alanlarında edindiği bilgileri biriktirebilirler. Uzman sistemler yardımıyla yönetim sorunları da dahil olmak üzere birçok modern sorunu çözmek mümkündür. Uzman sistemlerde bilgiyi temsil etmenin ana yöntemlerinden biri, insanın düşünme tarzına yaklaşmasını sağlayan üretim kurallarıdır. Genellikle üretim kuralı şu şekilde yazılır: "IF (öncül) (paket) (öncül) ... (öncül) SONRA (sonuç)." Kuralda birkaç parsel olabilir, bu durumda bunlar araçlarla birleştirilir. mantıksal bağlaçlar "VE", "VEYA" ...

Bulanık sistemler (NS) de üretim tipi kurallara dayanır, ancak dilsel değişkenler kuralda öncül ve sonuç olarak kullanılır, bu da klasik üretim kurallarının doğasında bulunan sınırlamalardan kaçınır.

Bu nedenle, bulanık bir sistem, açıklama özelliği şu şekilde olan bir sistemdir:

parametrelerin bulanık özellikleri;

sistemin girdi ve çıktı değişkenlerinin bulanık tanımı;

"IF ... THEN ..." üretim kurallarına dayalı sistemin işleyişinin bulanık açıklaması.

Bulanık sistemlerin en önemli sınıfı bulanık kontrol sistemleridir (NSO'lar) NSO'nun en önemli bileşenlerinden biri, sistemin girdileri ve çıktıları arasındaki ilişkiyi belirleyen bir dizi bulanık IF-THEN kuralları olan bilgi tabanıdır. incelenen sistem. Bulanık kuralların farklı türleri vardır: dilsel, ilişkisel, Takagi-Sugeno modeli, vb.

Proses kontrolü ile ilgili birçok uygulama için, incelenen prosesin bir modelini oluşturmak gereklidir. Modeli bilmek, uygun regülatörü (kontrol modülü) seçmenizi sağlar. Ancak, doğru bir model oluşturmak çoğu zaman zor bir problemdir ve bazen çeşitli basitleştirmelerin kullanılmasını gerektirir. Bulanık kümeler teorisinin süreç kontrolü için uygulanması, bu süreçlerin modellerinin bilgisi anlamına gelmez. Davranış kurallarını yalnızca "IF-THEN" gibi bulanık koşullu yargılar şeklinde formüle etmek gerekir.

Şekil 2.1 -. Bulanık kontrol sistemi yapısı

Sistem kontrol süreci, bulanık kontrol sisteminin çıktı değişkeni ile doğrudan ilişkilidir, ancak bulanık çıkarımın sonucu bulanıktır ve fiziksel aktüatör böyle bir komutu algılayamaz. Bulanık değerlerden iyi tanımlanmış değerlere geçmek için özel matematiksel yöntemlere ihtiyaç vardır. Genel olarak, tüm bulanık kontrol süreci birkaç aşamaya ayrılabilir: bulanıklaştırma, bulanık kuralların geliştirilmesi ve durulaştırma.

Bulanıklaştırma, bulanıklığa geçişi ifade eder. Bu aşamada, girdi değişkenlerinin kesin değerleri, bulanık kümeler teorisinin bazı hükümleri uygulanarak, yani belirli üyelik fonksiyonları kullanılarak dilsel değişkenlerin değerlerine dönüştürülür.

Bulanık mantıkta, herhangi bir niceliğin değerleri sayılarla değil, doğal dildeki kelimelerle temsil edilir ve "terimler" olarak adlandırılır. Bu nedenle, "Mesafe" dil değişkeninin değeri "Uzak", "Yakın" vb. Terimlerdir. Dilsel değişkeni uygulamak için terimlerinin tam fiziksel değerlerini belirlemek gerekir. "Mesafe" değişkeninin 0 ila 60 metre aralığında herhangi bir değer alabileceğini varsayalım. Bulanık kümeler teorisinin hükümlerine göre, 60 metre aralığındaki mesafenin her değerine sıfırdan bire kadar belirli bir sayı atanabilir ve bu, mesafenin verilen fiziksel değerinin ait olma derecesini belirler (diyelim). , 10 metre) "Mesafe" dil değişkeninin bir veya başka bir terimine ... Daha sonra 50 metrelik mesafeye "Uzak" terimine 0.85'e ve "Yakın" - 0.15 terimine ait olma derecesi atanabilir. Fiziksel bir niceliğin yeterince doğru bir temsili için bir değişkende kaç terimin gerekli olduğu sorulduğunda, çoğu uygulama için değişken başına 3-7 terimin yeterli olduğu genel olarak kabul edilir. Çoğu uygulama tamamen minimum terim sayısını kullanmakla sınırlıdır.Bu tanım iki uç değer (minimum ve maksimum) ve bir ortalama içerir. Maksimum terim sayısına gelince, sınırlı değildir ve tamamen uygulamaya ve sistem açıklamasının gerekli doğruluğuna bağlıdır. 7 sayısı, bir kişinin modern kavramlara göre yedi adede kadar bilgi depolayabilen kısa süreli hafızasının kapasitesinden kaynaklanmaktadır.

Her kesin değerin dilsel değişkenin terimlerinden birine aitliği üyelik fonksiyonu aracılığıyla belirlenir. Biçimi kesinlikle keyfi olabilir, ancak standart üyelik fonksiyonları kavramı oluşturulmuştur.

Şekil 2.2 - Standart üyelik fonksiyonları

Standart üyelik fonksiyonları çoğu probleme kolaylıkla uygulanabilir. Ancak, belirli bir problemi çözmeniz gerekiyorsa, üyelik fonksiyonunun daha uygun bir formunu seçebilir ve standart tipteki fonksiyonları kullanmaktan daha iyi sistem sonuçları elde edebilirsiniz.

Bir sonraki aşama, bulanık kuralların geliştirilmesi aşamasıdır.

Dilsel değişkenleri birbirine bağlayan üretim kurallarını tanımlar. Çoğu bulanık sistem, dilsel değişkenler arasındaki bağımlılıkları tanımlamak için üretim kurallarını kullanır. Tipik bir üretim kuralı, bir öncülden (kısım IF ...) ve bir sonuçtan (kısım TO ...) oluşur. Bir öncül birden fazla öncül içerebilir. Bu durumda, "VE" veya "VEYA" mantıksal bağlaçları aracılığıyla birleştirilirler.

Bulanık kural hesaplama işlemine bulanık çıkarım denir ve iki aşamaya ayrılır: genelleme ve sonuç.

Aşağıdaki kural olsun:

EĞER Mesafe = Orta VE Açı = Küçük, SONRA Güç = Orta.

Mantıksal çıkarımın ilk adımında, kuralın tüm öncülüne üyelik derecesini belirlemek gerekir. Bunun için bulanık mantıkta iki operatör vardır: Min (...) ve Maks (...). Birincisi üyelik derecesinin minimum değerini, ikincisi ise maksimum değeri hesaplar. Bir veya başka bir operatörün ne zaman kullanılacağı, parsellerin kuralda hangi bağlantıyla bağlandığına bağlıdır. “VE” bağlantısı kullanılıyorsa Min (…) operatörü kullanılır. Parseller "Veya" bağlantısı ile birleştirilirse Max (...) operatörünü kullanmanız gerekir. Kuralda sadece bir öncül varsa, operatörlere hiç ihtiyaç yoktur.

Bir sonraki adım, gerçek sonuç veya sonuçtur. Benzer şekilde sonuç Min / Maks operatörleri kullanılarak hesaplanır. İlk veriler, bir önceki adımda hesaplanan kural öncüllerinin üyelik derecelerinin değerleridir.

Bulanık çıkarımın tüm adımlarını tamamladıktan sonra kontrol değişkeninin bulanık değerini buluruz. Yürütücü cihazın alınan komutu işleyebilmesi için bulanıklıktan kurtulduğumuz ve durulaştırma adı verilen bir kontrol aşamasına ihtiyaç vardır.

Durulaştırma aşamasında, niceliklerin bulanık değerlerinden yürütme cihazına komut görevi görebilecek belirli fiziksel parametrelere geçiş gerçekleştirilir.

Bulanık çıkarımın sonucu elbette bulanık olacaktır. Örneğin, bir mekanizmayı kontrol etmekten bahsediyorsak ve elektrik motoru için komut "Ortalama" (güç) terimi ile temsil edilecekse, aktüatör için kesinlikle hiçbir şey ifade etmez. Bulanık kümeler teorisinde durulaştırma prosedürü, olasılık teorisindeki rastgele değişkenlerin konumunun (matematiksel beklenti, mod, medyan) özelliklerinin bulunmasına benzer. Durulaştırma prosedürünü gerçekleştirmenin en basit yolu, üyelik fonksiyonunun maksimumuna karşılık gelen net bir sayı seçmektir. Ancak, bu yöntemin uygunluğu yalnızca bir uç üyelik fonksiyonu ile sınırlıdır. Nihai sonucun belirsizliğini ortadan kaldırmak için birkaç yöntem vardır: maksimum yöntemin merkezi, maksimum değer yöntemi, merkez yöntemi ve diğerleri. Çok-uçlu üyelik fonksiyonları için durulaştırma çoğunlukla koordinat eksenleri ve bir üyelik fonksiyonu ile sınırlanmış bir düzlem şeklinin ağırlık merkezini bularak kullanılır.

2.3. Bulanık çıkarım modelleri

Bulanık çıkarım, “IF-THEN” gibi dilsel ifadelere ve bulanık kümelerdeki işlemlere dayanan “girdi-çıktı” ilişkisinin bir yaklaşımıdır. Bulanık model aşağıdaki blokları içerir:

X faktörünün sabit bir vektörünü bir bulanık küme vektörüne dönüştüren bir bulanıklaştırıcıdır. bulanık çıkarım yapmak için gerekli;

- bağımlılık bilgilerini içeren bulanık bilgi tabanı
"IF-THEN" türündeki dilsel kurallar biçiminde;

- bilgi tabanı kurallarına dayalı olarak, çıktı değişkeninin değerini bir bulanık küme biçiminde belirleyen bir bulanık çıkarım makinesi giriş değişkenlerinin bulanık değerlerine karşılık gelen ;

- çıktı bulanık kümesini dönüştüren durulaştırıcı net bir Y sayısına dönüştürün.

Şekil 2.3 - Bulanık modelin yapısı.

2.3.1 Mamdani tipi bulanık model

Bu algoritma, sırayla yürütülen birkaç aşamayı tanımlar. Bu durumda, sonraki her aşama, bir önceki adımda elde edilen değerleri girdi olarak alır.

Şekil 2.4 - Bulanık çıkarım sürecinin etkinliğinin diyagramı

Algoritma, "kara kutu" ilkesine göre çalışmasıyla dikkat çekiyor. Girişte nicel değerler alınır, çıkışta aynıdır. Ara aşamalarda, bulanık mantık aparatı ve bulanık kümeler teorisi kullanılır. Bu, bulanık sistemleri kullanmanın zarafetidir. Tanıdık sayısal verileri işleyebilirsiniz, ancak aynı zamanda bulanık çıkarım sistemlerinin sağladığı esnekliği de kullanabilirsiniz.

Mamdani tipi bir modelde, X = (x 1, x 2, ..., x n) girdileri ile çıktı y arasındaki ilişki, aşağıdaki formatta bir bulanık bilgi tabanı tarafından belirlenir:

,

nerede
- sayı doğrultusunda x i değişkenini değerlendiren dilsel terim
;
), nerede - çıktının içinde bulunduğu bağlaç satırlarının sayısı dilsel bir terimle değerlendirilir ;
- çıktı değişkeninin dilsel değerlendirmesi için kullanılan terim sayısı .

∪ (VEYA) ve ∩ (VE) işlemlerini kullanarak, bulanık bilgi tabanı daha kompakt bir biçimde yeniden yazılabilir:

(1)

Bilgi tabanındaki (1) tüm dilsel terimler, karşılık gelen üyelik fonksiyonları tarafından tanımlanan bulanık kümeler olarak temsil edilir.

Bulanık bilgi tabanı (1), etki eden faktörlerin uzayının, her birinde yanıt fonksiyonunun karşılık gelen bulanık küme tarafından belirtilen değeri aldığı bulanık sınırları olan alt alanlara belirli bir bölümü olarak yorumlanabilir. Bilgi tabanındaki bir kural, "girdi-çıktı" ilişkisinin özelliklerinden birini yansıtan bir "bilgi demeti"dir. Bu tür "doymuş bilgi pıhtıları" veya "bilgi granülleri", psikologların belirlediği gibi, öğrenme sırasında insan beyninde meydana gelen bir sözlü kodlama analogu olarak görülebilir. Bu muhtemelen belirli bir konu alanında bulanık bir bilgi tabanının oluşturulmasının kural olarak bir uzman için zorluk oluşturmamasının nedenidir.

Aşağıdaki gösterimi tanıtalım:

- giriş üyelik fonksiyonu bulanık terim
,
onlar

y çıktısının bulanık bir terime üyelik fonksiyonudur
, yani

Giriş vektörünün üyelik derecesi
bulanık terimler bilgi tabanından (1) aşağıdaki bulanık mantıksal denklem sistemi ile belirlenir:

Aşağıdaki uygulamalar en sık kullanılır: VEYA işlemi için - maksimumu bulma, AND işlemi için - minimumu bulma.

X* girdi vektörüne karşılık gelen bulanık küme aşağıdaki gibi tanımlanır:

imp bir ima olduğunda, genellikle minimumu bulma işlemi olarak uygulanır; agg - en sık olarak maksimumu bulma işlemiyle uygulanan bulanık kümelerin toplanması.

Çıkış değerini temizle giriş vektörüne karşılık gelen
, bulanık kümenin durulaştırılmasının bir sonucu olarak belirlenir ... En yaygın olarak kullanılan durulaştırma, ağırlık merkezi yöntemidir:

Mamdani tipi ve Sugeno tipi modeller, kural sonuçları net sayılarla verildiğinde, yani:

1) Mamdani tipi modelde çıktı değişkeninin d j terimleri, kesin sayıların tekil - bulanık analogları ile verilir. Bu durumda, üyelik derecesi bire eşit olan biri hariç, evrensel kümenin tüm elemanları için üyelik dereceleri sıfıra eşittir;

2) Sugeno tipi modelin bilgi tabanındaki kuralların sonuçları, girdi değişkenlerinin tüm katsayılarının sıfıra eşit olduğu fonksiyonlar tarafından verilir.

2.3.2 Sugeno tipi bulanık model

Bugün, biri Takagi-Sugeno modeli olan birkaç bulanık kontrol modeli vardır.

Takagi-Sugeno modeli bazen Takagi-Sugeno-Kang olarak anılır. Bunun nedeni, bu tür bulanık modelin ilk olarak Takagi ve Sugeno tarafından önerilmiş olmasıdır. Ancak Kang ve Sugeno, bulanık modeli tanımlama konusunda mükemmel bir iş çıkardılar. Bu nedenle model adının kökeni.

Sugeno tipi bir modelde, girdiler arasındaki ilişki
ve çıktı y, formun bulanık bir bilgi tabanı tarafından verilir:

nerede - bazı sayılar.

Bilgi tabanı (3), kuralların sonuçları dışında (1)'e benzer bulanık terimlerle değil, girdilerin doğrusal bir işleviyle ayarlanan:

,

Bu nedenle, Sugeno tipi modeldeki bilgi tabanı hibrittir - kuralları, bulanık kümeler şeklinde öncüller ve net bir doğrusal fonksiyon şeklinde sonuçlar içerir. Bilgi tabanı (3), her birinde yanıt fonksiyonunun değerinin girdilerin doğrusal bir kombinasyonu olarak hesaplandığı, bulanık alt alanlara etki eden faktörlerin uzayının belirli bir bölümü olarak yorumlanabilir. Kurallar, bir doğrusal giriş-çıkış yasasından diğerine, yine doğrusal olan bir tür geçiştir. Alt alanların sınırları bulanıktır, bu nedenle birkaç doğrusal yasa aynı anda, ancak farklı ağırlıklarla yerine getirilebilir. Sonuç çıkış değeri belirli bir noktada gerçekleştirilen doğrusal bağımlılıkların bir üst üste binmesi olarak tanımlanır
n-boyutlu faktör uzayı. Ağırlıklı ortalama olabilir

,

veya ağırlıklı toplam

.

Değerler
Mamdani-tipi model için olduğu gibi, yani formül (2)'ye göre hesaplanır.Sugeno'nun modelinde, olasılıksal OR ve çarpma işlemlerinin genellikle sırasıyla ˄ ve işlemleri olarak kullanıldığına dikkat edin. Bu durumda, Sugeno tipi bulanık model, yapısı bilgi tabanına izomorfik olan, doğrudan sinyal yayılımının çok katmanlı sinir ağlarının özel bir sınıfı olarak düşünülebilir. Bu tür ağlara nöro-bulanık denir.

Bulanık mantık üzerine standart bir makale genellikle iki şeye sahiptir:

  1. Vakaların %99'unda makale, yalnızca bulanık kümeler bağlamında bulanık mantığın uygulanması veya daha doğrusu bulanık çıkarım veya daha doğrusu Mamdani algoritması ile ilgilidir. Bulanık mantığı uygulamanın tek yolunun bu olduğu izlenimi edinilir, ancak durum böyle değildir.
  2. Hemen hemen her zaman makale matematiksel dilde yazılır. Harika, ancak programcılar farklı gösterimlerle farklı bir dil kullanır. Bu nedenle, makalenin, göründüğü gibi, yararlı olması gerekenler için anlaşılmaz olduğu ortaya çıktı.
Bütün bunlar üzücü, çünkü pratik kullanışlılığı bir kriter olarak alırsak, bulanık mantık 20. yüzyılın matematiğinin en büyük başarılarından biridir. Bu yazıda ne kadar basit ve güçlü bir programlama aracı olduğunu göstermeye çalışacağım - tıpkı sıradan mantıksal işlemler sistemi kadar basit ama çok daha güçlü.

Bulanık mantıkla ilgili en dikkat çekici gerçek, öncelikle mantık... Matematiksel mantığın başlangıcından beri, herhangi bir mantıksal fonksiyonun bir ayırıcı veya birleştirici normal formla temsil edilebileceği bilinmektedir; bu, önermeler hesabını uygulamak için sadece üç işlemin yeterli olduğu anlamına gelir: bağlaç (&&), ayırma (||) ve olumsuzlama(!). Klasik mantıkta, bu işlemlerin her biri bir doğruluk tablosu ile belirtilir:

bir || bir b && bir! -------- -------- ---- 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1
Bulanık mantıkta klasik mantıktan farklı olarak nicelikler yerine NS ve Uzanmak değer kullanılır doğruluk derecesi, 0'dan 1'e kadar sonsuz bir kümeden herhangi bir değer alarak, dahil. Sonuç olarak, mantıksal işlemler artık tablo şeklinde gösterilemez. Bulanık mantıkta fonksiyonlar tarafından verilirler.

Ayrışma ve bağlaç uygulamak için iki yol vardır:

# Maximin yaklaşımı: a || b => maks (a, b) a && b => min (a, b) # Kolorimetrik yaklaşım: a || b => a + b - a * b a && b => a * b
Olumsuzlama tek şekilde verilir (tahmin etmesi zor değil):

A => 1 - bir
Aşırı durumlarda - değişkenlerin değerleri yalnızca 1 veya 0 olduğunda - yukarıdaki işlevlerin klasik mantık işlemlerinin doğruluk tablolarını verdiğini kontrol etmek kolaydır. Hazır! Artık inanılmaz bir güce, basitliğe sahip olan ve aynı zamanda aşırı durumlarda klasik mantıkla tamamen uyumlu olan genişletilmiş bir mantığa sahibiz. Yani biz [programcılar] nerede boolean ifadeler kullanırsak, bulanık mantık ifadelerini kullanabilir miyiz? Tam olarak değil.

Gerçek şu ki, tüm programlama dilleri operatörleri açık koşullar gerektirir, bu nedenle bir noktada bulanık bir doğruluk derecesinden net bir çalışma kriteri elde etmek her zaman gereklidir. Bu, kuantum dünyasında olanlara benzer: sistem Schrödinger denklemine göre evrimleştiği sürece, kuantum durumu deterministik ve sürekli olarak değişir, ancak sisteme dokunur dokunmaz bir kuantum sıçraması meydana gelir ve sistem düşer. ayrık durumlardan birine dönüştürülür. Bulanık mantıkta buna durulaştırma denir. Doğa basitçe bir kuantum durumunu olasılığa dönüştürür ve zarı atar, ancak genel olarak konuşursak, durulaştırma yöntemleri farklıdır. Bu konuya girmeyeceğim, çünkü hacmi ayrı bir makaleye giriyor. Ben sadece durulaştırma yönteminin problemin semantiği dikkate alınarak seçilmesi gerektiğini belirteceğim.

Örnek olarak, engellerden kaçınmak için bulanık mantık kullanan bir füze kontrol sistemi düşünelim. Roketin tam olarak yokuş yukarı uçtuğunu ve kontrol sisteminin çözümü hesapladığını hayal edelim: sağa uçmak - 0,5, sola uçmak - 0,5. Kütle merkezi yöntemiyle durulaştırmayı kullanırsak, kontrol sistemi düz uçma komutunu verecektir. Boom! Açıkçası, bu durumda, doğru karar, zarı atmak ve %50 olasılıkla "sol" veya "sağ" komutunu almaktır.

En basit durumda, doğruluk derecesine göre bir karar vermeniz gerektiğinde, seti aralıklara bölebilir ve if-else-if'i kullanabilirsiniz.

Bulanık bir kriter aramak için bulanık mantık kullanılıyorsa, durulaştırmaya hiç gerek olmayabilir. Karşılaştırmalar yaparak, arama uzayının her bir elemanı için eşitlik derecesinin bir değerini elde edeceğiz. Asgari bir eşitlik derecesi, altında ilgilenmediğimiz değerleri tanımlayabiliriz; kalan öğeler için, eşitlik derecesi, sonuçları azalan düzende sıralayacağımız ve hangi sonucun doğru olduğuna kullanıcının karar vermesine izin vereceğimiz alaka düzeyi olacaktır.

Örnek olarak, enstitüde eğlendiğim bir problemi çözmek için bulanık mantığın kullanımını göstereceğim - bu, bir görüntüden Çince bir karakter bulma problemidir.

Kullanıcı tarafından ekranda çizilen herhangi bir karalamayı tanıma fikrinden hemen vazgeçtim (o zaman bu bir PDA ekranıydı). Bunun yerine, program Japon kaligrafi kurallarına göre belirlenen yaklaşık 23 vuruş türünü seçmeyi teklif etti. Kullanıcı, vuruş tipini seçtikten sonra, vuruşun sığacağı bir dikdörtgen çizdi. Aslında, sözlüğe hem girilen hem de depolanan hiyeroglif, bir türün tanımlandığı bir dizi dikdörtgen olarak temsil edildi.

Böyle bir temsilde hiyerogliflerin eşitliği nasıl belirlenir? Başlangıç ​​olarak, kriteri net bir formülle formüle edeceğiz:

A ve B hiyeroglifleri, ancak ve ancak A'daki her özellik için B'de eşit bir özellik varsa ve B'deki her özellik için A'da eşit bir özellik varsa eşittir.

Hiyerogliflerin yinelenen satırlar içermediği, yani bir satır başka bir hiyeroglifteki bir satırla çakışırsa, aynı hiyeroglifteki başka bir satırla çakışmayacağı varsayılır.

Özelliklerin eşitliği şu şekilde tanımlanabilir:

Doğrular, ancak ve ancak aynı türe aitlerse ve dikdörtgenleri aynı alanı kaplıyorsa eşittir.

Bu iki tanım bize arama algoritmasını uygulamak için yeterli bir iddialar sistemi verir.

İlk olarak, E matrisini aşağıdaki gibi oluşturalım:

i için 1..n için j için 1..n için E = A [i] == B [j] son ​​uç #A ve B hiyerogliflerdir; A [i] ve B [j] onların özellikleridir ve "==" operatörü onların bulanık eşitliklerini hesaplar. # Her iki karakterin de aynı sayıda özelliğe sahip olduğu varsayılır - n.
Sonra bu matrisi bir M [n] vektörüne kapatırız:

i in 1..n M [i] = E.max_in_row (i) end # max_in_row yöntemi, matris satırındaki maksimum değeri hesaplar.
Ben maximin yaklaşımını kullanıyorum çünkü pratikte kolorimetrik değerler bağlaçlar için çok küçük. max'ın bir ayrılma olduğunu hatırlarsak, o zaman i-inci satır A'nın birinci satır B'ye veya ikinci veya üçüncü, vb.'ye eşit olduğu ifadesini hesapladığımız ortaya çıkıyor. Böylece M, A özellikleri ile B özellikleri arasındaki tesadüflerin bir vektörüdür.

# Sadece bulanık bir bağlaç. e = M.min # Veya bunun gibi: e = M.sum / M.uzunluk # (elemanların toplamının vektörün uzunluğuna oranı).
Her iki yöntem de çalışır, ancak farklı şekillerde, ikinci yöntem, özellikler açıkça karşılaştırılsa bile çalışır. Hangisi daha doğru, felsefi bir soru.

Özelliklerin karşılaştırılması hakkında birkaç söz daha söylenmelidir. Tanıma göre, özelliklerin eşitliği iki koşulun birleşimidir: türlerin eşitliği ve dikdörtgenlerin eşitliği. Bazı türler çok benzer özelliklere sahiptir. Girerek, kullanıcı bunları kolayca karıştırabilir, bu nedenle değerleri i çizgisinin j çizgisine ne kadar benzer olduğunu yansıtacak bir benzerlik tablosuna sahip olmaya değer (elbette ana köşegende olanlar olacaktır). Dikdörtgenlerin eşitlik derecesi olarak, kesişme alanlarının daha büyük dikdörtgenlerin alanına oranını alabilirsiniz.

Genel olarak, bulanık mantığın uygulama alanı oldukça geniştir. Herhangi bir algoritmada, herhangi bir kural sisteminde, gerçeği ve yanlışı bir doğruluk derecesi ile değiştirmeye çalışın ve belki de bu kurallar veya algoritma sistemi gerçeği daha doğru bir şekilde yansıtacaktır. Sonuçta, temelde bulanık bir dünyada yaşıyoruz.

Bulanık kümeler ve bulanık mantık teorisinin temelleri

Sınırlarını belirtmeden kümeleri incelemenin yöntemlerinden biri, 1965 yılında California Üniversitesi Lotfi Zadeh'de bir profesör tarafından önerilen bulanık kümeler teorisidir. Başlangıçta bir doğal dil belirsizliği modelleme aracı olarak geliştirilmiştir. Bununla birlikte, daha sonra, bulanık kümelerin aparatı kullanılarak çözülen problemlerin aralığı önemli ölçüde genişledi ve şimdi veri analizi, tanıma, yöneylem araştırması, karmaşık sistemlerin modellenmesi, karar desteği vb. gibi alanları içeriyor.

Genellikle, nesnelerin özelliklerini tanımlarken ve tanımlarken, yalnızca nicel değerlerle değil, aynı zamanda nitel değerlerle de çalışırlar. Özellikle, bir kişinin boyu niceliksel olarak santimetre olarak ölçülebilir veya niteliksel değerler kullanılarak tanımlanabilir: cüce, düşük, orta, uzun veya dev. Nitel değerlerin yorumlanması özneldir, yani. farklı kişiler (özneler) tarafından farklı şekillerde yorumlanabilirler. Niteliksel değerlerin belirsizliği (bulanıklaşması) nedeniyle, bunlardan nicel değerlere geçmek gerektiğinde bazı zorluklar ortaya çıkar.

Bulanık kümeler temelinde oluşturulan sistemlerde, hem A (koşul, önkoşul) hem de B'nin (sonuç, hipotez) nitel değerler içerebildiği "IF A THEN B" (A ® B) biçimindeki kurallar kullanılır. Örneğin, "IF Height =" uzun "THEN Sport_type =" basketbol "".

Bulanık kümeler teorisinde değeri, belirli bir özelliğin bir dizi nitel değeri tarafından belirlenen bir değişkene denir. dilsel... Yukarıdaki kural örneğinde iki dilsel değişken kullanılmıştır: Height ve Type_sport.

Bir dilsel değişkenin her değeri, bulanık küme adı verilen bir küme aracılığıyla tanımlanır. Bulanık küme bazı temel ölçeklerle tanımlanmış x ve üyelik fonksiyonu (karakteristik fonksiyon) m ( NS), nerede NS Î NS... Ayrıca, klasik Cantor kümesindeki bir eleman ya (m ( NS) = 1) veya (m ( NS) = 0), daha sonra bulanık kümeler teorisinde m ( NS) aralığında herhangi bir değer alabilir. Bulanık kümeler üzerinde standart işlemler gerçekleştirilebilir: toplama (olumsuzlama), birleşim, kesişim, fark vb. (Şekil 33).

Bulanık kümeler için bir dizi özel işlem de vardır: toplama, çarpma, konsantrasyon, genişletme, vb.

Bir dilsel değişkeni belirlerken, değerleri, yani bulanık kümeler, belirli gereksinimleri karşılamalıdır (Şekil 34).

1. Düzenlilik. Bulanık kümeler, dilsel değişken için nitel değerlerin atanma sırasına göre sıralanmalıdır (temel ölçekte bulunur).

2. Sınırlılık. Dilsel değişkenin kapsamı açıkça belirtilmelidir (dilsel değişkenin temel ölçekte minimum ve maksimum değerleri tanımlanır). Dilsel değişkenin tanımlandığı evrensel kümenin sınırlarında, minimum ve maksimum bulanık kümesinin üyelik fonksiyonlarının değerleri tek olmalıdır. Şekilde T 1'in üyelik fonksiyonu yanlış, T 6'nın ise doğru üyelik fonksiyonu vardır.

3. Tutarlılık. Evrensel kümenin aynı noktası aynı anda m'ye ait olmadığında, kavramların doğal farklılaşması (dilsel bir değişkenin değerleri) gözlemlenmelidir ( NS) = 1 ila iki veya daha fazla bulanık küme (gereksinim T 2 - T 3 çifti tarafından ihlal edilir).

4. Tamlık. Dilsel değişkenin etki alanındaki her değer, en az bir bulanık küme tarafından tanımlanmalıdır (gereklilik, T 3 - T 4 çifti arasında ihlal edilmiştir).

5. Normallik. Dilsel bir değişkendeki her kavram en az bir referansa veya tipik nesneye sahip olmalıdır, yani bir noktada bir bulanık kümenin üyelik fonksiyonu birim olmalıdır (gereklilik T 5 tarafından ihlal edilir).

x

Bulanık küme "düşük büyüme" m n ( NS)

0 20 40 60 80 100 110 120 140 160 x

Bulanık küme "yüksek büyüme" m in ( NS)

0 20 40 60 80 100 110 120 140 160 x

D = N: Bulanık kümenin tamamlayıcısı "düşük büyüme"

m d ( NS) = 1 - mn ( NS)

0 20 40 60 80 100 110 120 140 160 x

Н В: Bulanık kümeler "düşük büyüme" ve "yüksek büyüme" kombinasyonu

m HB ( NS) = maksimum(mn ( NS), m içinde ( NS))

0 20 40 60 80 100 110 120 140 160 x

Н В: Bulanık kümelerin kesişimi "düşük büyüme" ve "yüksek büyüme"

m HB ( NS) = dk(mn ( NS), m içinde ( NS))

Pirinç. 33. Bulanık kümeler üzerinde işlemler

m ( NS) T 1 T 2 T 3 T 4 T 5 T 6

Pirinç. 34. Gereksinimleri ihlal eden bir dilsel değişken için bulanık kümeler ayarlama örneği

Gereksinimler 2-4, bir evrensel olanla değiştirilebilir - üyelik fonksiyonlarının toplamı m ( NS) değişkenin tanım kümesinin her noktasındaki tüm bulanık kümeler üzerinde 1'e eşit olmalıdır.

Dilsel değişkenlerle (bulanık kurallar) kurallar işlenirken, bir hipotezin doğruluğunu hesaplamak için bulanık mantık kuralları uygulanır. Bulanık mantık- öncüllerin, hipotezlerin ve mantıksal formüllerin kendilerinin belirli bir olasılık derecesi ile doğruluk değerlerini alabileceği bir tür sürekli mantık.

Bulanık mantığın ana hükümleri:

· Öncülün, hipotezin veya formülün doğruluğu aralıkta yatar;

· İki ön koşul (E 1 ve E 2) Ù (mantıksal VE) ile bağlanırsa, H hipotezinin doğruluğu t (H) = MIN (t (E 1), t (E 2)) formülüyle hesaplanır. ;

· Eğer iki ön koşul (E 1 ve E 2) bağlantılıysa Ú (mantıksal VEYA), o zaman H hipotezinin doğruluğu t (H) = MAX (t (E 1), t (E 2));

(P) kuralının kendi doğruluk değerlendirmesi varsa, o zaman H toplam hipotezinin nihai gerçeği, kuralın doğruluğu dikkate alınarak ayarlanır t (H toplam) = MIN (t (H), t (P) ).

SD Shtovba "Bulanık kümeler ve bulanık mantık teorisine giriş"

1.7. Bulanık mantık

Bulanık mantık, gerçeğin, "çok doğru", "az ya da çok doğru", "çok yanlış değil" gibi değerleri alan bir dilsel değişken olarak kabul edildiği durum için geleneksel Aristoteles mantığının bir genellemesidir. Belirtilen dilsel anlamlar, bulanık kümelerle temsil edilir.

1.7.1. dil değişkenleri

Dilsel bir değişkenin, bazı doğal veya yapay dillerin bir dizi kelime veya kelime öbeğinden değerler alan bir değişken olduğunu hatırlayın. Dilsel bir değişkenin kabul edilebilir değerleri kümesine terim kümesi denir. Bir değişkenin değerini sayı kullanmadan kelimelerle ayarlamak bir kişi için daha doğaldır. Her gün, "çok yüksek sıcaklık"; "uzun yolculuk"; "hızlı cevap"; "güzel buket"; "uyumlu tat" ve benzerleri. Psikologlar, insan beyninde neredeyse tüm sayısal bilgilerin sözel olarak kodlandığını ve dilsel terimler biçiminde depolandığını bulmuşlardır. Dilsel değişken kavramı, bulanık çıkarımda ve yaklaşık akıl yürütmeye dayalı kararlar vermede önemli bir rol oynar. Biçimsel olarak, bir dilsel değişken aşağıdaki gibi tanımlanır.

Tanım 44.dil değişkeni beş tarafından verilir, burada -; değişken ismi; -; her bir elemanı (terim) bir evrensel küme üzerinde bir bulanık küme olarak temsil edilen terim kümesi; -; terimlerin adlarına yol açan, genellikle dilbilgisi biçimindeki sözdizimsel kurallar; -; sözdizimsel kurallar tarafından oluşturulan bulanık terimlerin üyelik fonksiyonlarını tanımlayan anlamsal kurallar.

Örnek 9. Oda sıcaklığı adı verilen dilsel bir değişkeni düşünün. Sonra kalan dördü aşağıdaki gibi tanımlanabilir:

Tablo 4 - Üyelik fonksiyonlarını hesaplama kuralları

"Oda sıcaklığı" dilsel değişkeninin "soğuk", "çok soğuk değil", "rahat", "az ya da çok rahat", "sıcak" ve "çok sıcak" terimlerinin üyelik fonksiyonlarının grafikleri Şekil 2'de gösterilmiştir. . 13.

Şekil 13 - Dilsel değişken "oda sıcaklığı"

1.7.2. bulanık gerçek

Dilsel değişken "gerçek" bulanık mantıkta özel bir yere sahiptir. Klasik mantıkta, doğruluk yalnızca iki değer alabilir: doğru ve yanlış. Bulanık mantıkta gerçek "bulanık"tır. Bulanık gerçek, aksiyomatik olarak tanımlanır ve farklı yazarlar bunu farklı şekillerde yapar. Aralık, "gerçeği" dilsel değişkeni ayarlamak için evrensel bir küme olarak kullanılır. Sıradan, açık gerçek, bulanık tekil kümelerle temsil edilebilir. Bu durumda, üyelik fonksiyonu gerçekten açık bir konsepte karşılık gelecektir. , ve net bir kavram yanlıştır -; , .

Bulanık bir gerçeği tanımlamak için Zadeh, "doğru" ve "yanlış" terimleri için aşağıdaki üyelik fonksiyonlarını önerdi:

;

nerede - ; "true" ve "false" bulanık kümelerinin taşıyıcılarını tanımlayan parametre. Bir bulanık küme "true" için taşıyıcı bir aralık olacaktır ve bir bulanık küme için false "-;.

Bulanık "doğru" ve "yanlış" terimlerinin üyelik fonksiyonları Şekil 1'de gösterilmektedir. 14. Bir parametre değeriyle oluşturulurlar. Gördüğünüz gibi, "true" ve "false" terimlerinin üyelik fonksiyonlarının grafikleri ayna görüntüsüdür.

Şekil 14 - Zada'ya göre dilsel değişken "hakikat"

Bulanık bir gerçeği tanımlamak için Baldwin, bulanık "doğru" ve "yanlış" için aşağıdaki üyelik fonksiyonlarını önerdi:

"Aşağı yukarı" ve "çok" niceleyicileri genellikle "doğru" ve "yanlış" bulanık kümelerine uygulanır, böylece "çok yanlış", "az ya da çok yanlış", "aşağı yukarı doğru", "çok doğru" terimlerini elde eder. " , "çok, çok doğru", "çok, çok yanlış" vb. Yeni terimlerin üyelik fonksiyonları, "doğru" ve "yanlış" bulanık kümelerinin yoğunlaşma ve genişleme işlemleri gerçekleştirilerek elde edilir. Konsantrasyon işlemi, üyelik fonksiyonunun karesine karşılık gelir ve genişleme işlemi, ½ kuvvetine yükseltmeye karşılık gelir. Bu nedenle, "çok, çok yanlış", "çok yanlış", "az çok yanlış", "az çok doğru", "doğru", "çok doğru" ve "çok, çok doğru" terimlerinin üyelik fonksiyonları şu şekildedir: aşağıdaki gibi tanımlanır:

Bu terimlerin üyelik fonksiyonu grafikleri Şekil 1'de gösterilmektedir. 15.

Şekil 15 - Baldwin'e göre dilsel değişken "hakikat"

1.7.3. Bulanık mantıksal işlemler

İlk olarak, geleneksel (Boolean) mantığın ana hükümlerini kısaca hatırlayın. Her biri doğru veya yanlış olabilen iki A ve B ifadesini düşünün, yani. "1" veya "0" değerlerini alın. Bu iki ifade için, yalnızca beşi anlamlı olarak yorumlanan farklı mantıksal işlemler vardır: VE (), VEYA (), özel VEYA (), ima () ve denklik (). Bu işlemler için doğruluk tabloları Tablo'da verilmiştir. 5.

Tablo 5 - Boole mantığı doğruluk tabloları

Mantıksal bir ifadenin iki değil üç doğruluk değeri alabileceğini varsayalım, örneğin: "doğru", "yanlış" ve "belirsiz". Bu durumda iki değerli değil, üç değerli mantıkla uğraşacağız. Üç değerli mantıkta ikili işlemlerin ve dolayısıyla doğruluk tablolarının toplam sayısı eşittir. Bulanık mantık, doğruluk değerlerinin dilsel değişkenler veya dilsel değişken "hakikat" terimleri tarafından belirtildiği çok değerli bir mantık türüdür. Bulanık mantıksal işlemleri gerçekleştirme kuralları, genelleme ilkesini kullanan Boole mantıksal işlemlerinden türetilir.

Tanım 45. Bulanık mantıksal değişkenleri ve ile ve bu değişkenlerin doğruluk değerlerini belirten üyelik fonksiyonlarını ve ile gösterelim. Bulanık mantıksal işlemler VE (), VEYA (),
NOT () ve ima () aşağıdaki kurallara göre gerçekleştirilir:

;

Çok değerli mantıkta, mantıksal işlemler doğruluk tablolarıyla belirtilebilir. Bulanık mantıkta, olası doğruluk değerlerinin sayısı sonsuz olabilir, bu nedenle genel bir biçimde, mantıksal işlemlerin tablo şeklinde bir temsili imkansızdır. Ancak, tablo biçiminde, örneğin bir terim kümesi için ("doğru", "çok doğru", "doğru değil", "az ya da çok yanlış" gibi) sınırlı sayıda doğruluk değeri için bulanık mantıksal işlemleri temsil edebilirsiniz. "YANLIŞ"). Bulanık doğruluk değerlerine sahip üç değerli mantık için T -; "doğru", F -; "yanlış" ve T + F - "bilinmeyen" L Zadeh, aşağıdaki dilsel doğruluk tablolarını önerdi:

Tanım 45'teki bulanık mantıksal işlemleri gerçekleştirme kurallarını uygulayarak, daha fazla terim için doğruluk tablolarını genişletebilirsiniz. Aşağıdaki örnekte bunun nasıl yapılacağını ele alacağız.

Örnek 10. Aşağıdaki bulanık doğruluk değerleri verilmiştir:

Tanım 45'teki kuralı uygulayarak, "neredeyse doğru VEYA doğru" ifadesinin bulanık doğruluğunu buluruz:

Elde edilen bulanık kümeyi "az ya da çok doğru" bulanık kümeyle karşılaştıralım. Neredeyse eşittirler, bu şu anlama gelir:

Mantıksal işlemlerin gerçekleştirilmesinin bir sonucu olarak, genellikle daha önce tanıtılan bulanık doğruluk değerlerinin hiçbirine eşdeğer olmayan bir bulanık küme elde edilir. Bu durumda, bulanık doğruluk değerleri arasında, bulanık bir mantıksal işlemin maksimum ölçüde gerçekleştirilmesi sonucuna karşılık gelenin bulunması gerekir. Başka bir deyişle, sözde yürütmek için gereklidir dilsel yaklaşım Rastgele değişkenlerin standart dağılım fonksiyonları ile ampirik istatistiksel dağılımların yaklaşımının bir analogu olarak kabul edilebilecek . Örnek olarak, Şekil 2'de gösterilenler için Baldwin tarafından önerilen dilsel doğruluk tablolarını verelim. 15 bulanık doğruluk değeri:

süresiz olarak

süresiz olarak

süresiz olarak

süresiz olarak

süresiz olarak

süresiz olarak

süresiz olarak

süresiz olarak

çok doğru

çok doğru

aşağı yukarı doğru

aşağı yukarı doğru

1.7.3. Bulanık bilgi tabanı

Tanım 46.Bulanık bilgi tabanı incelenen nesnenin girdileri ve çıktıları arasındaki ilişkiyi belirleyen bir dizi bulanık kural "Eğer - o zaman" olarak adlandırılır. Bulanık kuralların genelleştirilmiş formatı aşağıdaki gibidir:

Eğerpaket kuralları,sonrakuralın sonucu.

Bir kuralın veya öncülün öncülü, "x düşüktür" gibi bir ifadedir; burada "düşük", bir dilsel değişken x'in evrensel kümesi üzerinde bir bulanık küme tarafından verilen bir terimdir (dilsel anlam). Niceleyiciler "çok", "az ya da çok", "değil", "neredeyse" vb. öncül koşullarını değiştirmek için kullanılabilir.

Kuralın sonucu veya sonucu, çıktı değişkeninin (d) değerinin belirtilebildiği "y d'dir" gibi bir ifadedir:

  1. bulanık terim: "y yüksektir";
  2. çözüm sınıfı: "bronşitiniz var"
  3. net bir sabit: "y = 5";
  4. giriş değişkenlerinin açık bir işlevi: "y = 5 + 4 * x".

Bir kuraldaki çıktı değişkeninin değeri bir bulanık küme tarafından veriliyorsa, kural bir bulanık ilişki ile temsil edilebilir. "X ise, o zaman y vardır" bulanık kuralı için, bulanık bağıntı Kartezyen çarpım üzerinde belirtilir, burada -; evrensel giriş (çıkış) değişkeni kümesi. Bulanık oranı hesaplamak için bulanık çıkarım ve t-norm kullanılabilir. Minimumu bulma işlemi t-norm olarak kullanıldığında, bulanık oran şu şekilde hesaplanır:

Örnek 11. Aşağıdaki bulanık bilgi tabanı, sürücünün yaşı (x) ile trafik kazası olasılığı (y) arasındaki ilişkiyi açıklamaktadır:

Eğerx = Genç,sonray = Yüksek;

Eğerx = Orta,sonray = Düşük;

Eğerx = Çok eski,sonray = Yüksek.

Terimlerin üyelik fonksiyonları Şekil l'de gösterilen forma sahip olsun. 16. O zaman bilgi tabanının kurallarına karşılık gelen bulanık ilişkiler şekil l'deki gibi olacaktır. 17.

Şekil 16 - Dönem üyelik fonksiyonları

Şekil 17 - Örnek 11'deki bilgi tabanı kurallarına karşılık gelen bulanık ilişkiler

Çok boyutlu I/O bağımlılıklarını tanımlamak için bulanık mantıksal işlemler AND ve OR kullanılır. Kuralları, her bir kural içinde değişkenlerin mantıksal VE işlemiyle birleştirileceği ve bilgi tabanındaki kuralların VEYA işlemiyle birbirine bağlanacağı şekilde formüle etmek uygundur. Bu durumda, girdileri birbirine bağlayan bulanık bilgi tabanı çıktı ile aşağıdaki gibi temsil edilebilir.