KSP KSP Sistem Fonksiyonları Yükleme İletişim Haberler Hakkımda

Mantıksal İşlemciler

Belki de yapay zekanın başladığı yer burası desek yanlış olmaz. Verilerin tanınması (ses , görüntü, yazı vb...), toplanması ve istatistiksel değerlendirilmelerinin yapılması yanında karar verme sürecinin işleyeceği yerdir burası ( ve sonraki 2 bölüm ; seçim ve tekrar döngüleri ).

Mantık değerlendirilmesinin yapılmasını sağlayan operatörler bunlardır. Bu operatörlere bir göz atarsak :

  1. <
  2. değer1 < değer2

    değer1 'in değer2'den küçük olup olmadığını test eder.

    Doğru ise 1 , yanlış ise 0 değerini döner.

    (Bu değerin döndüğünü programcı görmez , arka planda derleyici tarafından değerlendirilir.)

    ( 15 < 25 --> doğru)

  3. <=
  4. değer1 <= değer2

    değer1 'in değer2'den küçük veya eşit olup olmadığını test eder. Doğru ise 1 , yanlış ise 0 değerini döner.

    ( 15 <= 25 --> doğru)

    ( 25 <= 25 --> doğru)

  5. >
  6. değer1 > değer2

    değer1 'in değer2'den büyük olup olmadığını test eder. Doğru ise 1 , yanlış ise 0 değerini döner.

    ( 5 > 2 --> doğru )

  7. >=
  8. değer1 >= değer2

    değer1 'in değer2'den büyük veya eşit olup olmadığını test eder.

    Doğru ise 1 , yanlış ise 0 değerini döner.

    ( 75 >= 75 --> doğru )

    ( 75 >= 72 --> doğru )

  9. ==
  10. değer1 == değer2

    değer1 ve değer2'nin eşit olduğunu test eder.

    Doğru ise 1 , yanlış ise 0 değerini döner.

    ( 2 == 2 --> doğru )

  11. !=
  12. değer1 != değer2

    değer1 ve değer2'nin eşitlik olmadığını test eder. Doğru ise 1 , yanlış ise 0 değerini döner.

    ( 3 != 2 --> doğru )




Sonraki iki operatör diğerlerinden biraz farklıdır.

  1. &&
  2. değer1 && değer2

    İki değerin sonucu (yani doğru-yanlış olduğu) ayrı ayrı değerlendirilir,

    En sonunda bu iki değer doğru(aynı anda birlikte) ise 1 , diğer şartlarda 0 (yanlış) değerini döndürür.

    Örnek :

    (saçım sarı && gökyüzü mavi) ancak bu iki şart birlikte doğru ise 1 değerini döndürür. Diğer hallerde yanlış (0) değerini döndürecektir.

    ( 2 < 5 && 50 >= 20 ) burada her iki şarta baktığımızda doğru olduğu için , && operatörü bu işlemin tamamını doğru olarak döndürür.

  3. ||
  4. değer1 || değer2

    İki değerin sonucu (yani doğru-yanlış olduğu) ayrı ayrı değerlendirilir.

    En sonunda bu iki değer yanlış(aynı anda birlikte) ise 0 , diğer şartlarda 1 (doğru) değerini döndürür.

    Örnek :

    (saçım sarı && gökyüzü mavi) ancak bu iki şart birlikte yanlış ise 0 değerini döndürür. Diğer hallerde doğru (1) değerini döndürecektir.

    ( 2 > 5 || 50 == 20 ) iki değerin sonucuda yanlış olduğu için toplam sonuç yanlıştır(0).




Basit gibi geliyor olabilir. Fakat çevresini tanıyabilen yapay zekaya sahip bir robot düşünün.Örneğin robotumuz bir adamla karşılaşmış olsun. Bir adamın elinde bir bıçak ve kan görmüş olsun.

Bu adam robota göre bir cinayet mi işlemiştir , yoksa et mi doğruyordur. Bu kararı neye göre verecektir.

Bunu nasıl doğrulayacağız. Şartları biz belirleyeceğiz başka yolu yok, robotumuzun sizin verdiğiniz değer yargıları ile karar vereceği açıktır.

Akıllıca kullanmanız gereken mantıksal operatörler ile robotumuzun topladığı veriler ışığında nihai karar verilecektir.

Örnek :

 
 (adam_elinde_bıçak && elinde_kan_lekesi)
	o zaman katil -->yakala(acaba ?)
	

Tabiki bu çok basit örnekte bu iki değeri değerlendirip doğru kabul edecek bir robot muhtemelen (örneğin adamımızın yanında bir ceset değilde tezgahta et parçası varsa ) yanlış bir değerlendirmeye varacaktır.

Yapay zeka programlamak bu yüzden zor ve sonuçları kestirilemezdir. Tüm sebeplere, tecrübelere , sonuçlara hakim olmayan insanın yapay zeka programlaması ve bu programlara gereğinden fazla kullanım alanı vermesi elbette öngörülemeyen sonuçlara neden olacaktır.