YAPAY ZEKA KISIM - 3



Benzer belgeler
YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

Zeki Optimizasyon Teknikleri

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

First Stage of an Automated Content-Based Citation Analysis Study: Detection of Citation Sentences

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Unlike analytical solutions, numerical methods have an error range. In addition to this

MÜFREDAT DERS LİSTESİ

Yüz Tanımaya Dayalı Uygulamalar. (Özet)

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

ANKARA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

> what is ansible*? "infrastructure as code"

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

a, ı ı o, u u e, i i ö, ü ü

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

Turkish Vessel Monitoring System. Turkish VMS

Güz Dönemi Zorunlu Dersleri

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

CmpE 320 Spring 2008 Project #2 Evaluation Criteria

Teknoloji Servisleri; (Technology Services)

Argumentative Essay Nasıl Yazılır?

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

WEEK 4 BLM323 NUMERIC ANALYSIS. Okt. Yasin ORTAKCI.

A UNIFIED APPROACH IN GPS ACCURACY DETERMINATION STUDIES

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

IDENTITY MANAGEMENT FOR EXTERNAL USERS

YZM YAPAY ZEKA VE UZMAN SİSTEMLER DERS#3: UZMAN SİSTEMLER#2

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

Bulanık Kümeler ve Sistemler. Prof. Dr. Nihal ERGİNEL

ALANYA HALK EĞİTİMİ MERKEZİ BAĞIMSIZ YAŞAM İÇİN YENİ YAKLAŞIMLAR ADLI GRUNDTVIG PROJEMİZ İN DÖNEM SONU BİLGİLENDİRME TOPLANTISI

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

( ) ARASI KONUSUNU TÜRK TARİHİNDEN ALAN TİYATROLAR

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ DUYARGA AĞLARINDA HABERLEŞME ALGORİTMASI TASARIMI VE TINYOS ÜZERİNDE GERÇEKLEMESİ

KONTAKSĐ. Bitirme Ödevi. Metin Kaplan Ferhat Karakoç Bölüm : Bilgisayar Mühendisliği Anabilim Dalı: Bilgisayar Bilimleri

Sınavında sık yapılan temel hatalar:

Proceedings/Bildiriler Kitabı I. G G. kurumlardan ve devletten hizmet beklentileri de September /Eylül 2013 Ankara / TURKEY

1. YARIYIL / SEMESTER 1

D-Link DSL 500G için ayarları

YAPAY ZEKA (Artificial Intelligence)

Ardunio ve Bluetooth ile RC araba kontrolü

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

ÖZGEÇMİŞ. Derece Alan Üniversite Yıl

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ

THE IMPACT OF AUTONOMOUS LEARNING ON GRADUATE STUDENTS PROFICIENCY LEVEL IN FOREIGN LANGUAGE LEARNING ABSTRACT

Educational On-line Programmes for Teachers and Students

Yard. Doç. Dr. İrfan DELİ. Matematik

Do not open the exam until you are told that you may begin.

HOW TO MAKE A SNAPSHOT Snapshot Nasil Yapilir. JEFF GOERTZEN / Art director, USA TODAY

COURSES OFFERED FOR ERASMUS INCOMING STUDENTS

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Fonksiyon Optimizasyonunda Genetik Algoritmalar

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

We are looking for Software Engineer who will work in Machine Learning and Artificial Intelligence and wants to make the dream a reality.

Zeki Optimizasyon Teknikleri

BAŞKENT ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BENZER SÜREÇLERDE ÜRETİLEN ÜRÜNLER İÇİN YAPAY ZEKA İLE ZAMAN TAHMİNİ SONER ŞÜKRÜ ALTIN

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER

KALEIDOSCOPES N.1. Solo Piano. Mehmet Okonşar

MATEMATİK BÖLÜMÜ BÖLÜM KODU:3201

12. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

MEZUN DURUMUNDAKİ ÖĞRENCİLERİN DİKKATİNE!!!!!!!!!!!!!!!

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

a, ı ı o, u u e, i i ö, ü ü şu that (something relatively nearby) şu ekmek o that (something further away) o dondurma

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.

CBS ve Coğrafi Hesaplama

2014-halen Ankara Üniversitesi, Bilgisayar Mühendisliği Yüksek Lisans halen Süleyman Demirel Üniversitesi, Bilgisayar Programcılığı


BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

Dersin Türü (Course Type) Zorunlu (Compulsory)[Χ] Seçmeli (Elective) [ ]

Sigma 2006/3 Araştırma Makalesi / Research Article A SOLUTION PROPOSAL FOR INTERVAL SOLID TRANSPORTATION PROBLEM

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Zeki Optimizasyon Teknikleri

24kV,630A Outdoor Switch Disconnector with Arc Quenching Chamber (ELBI) IEC IEC IEC 60129

Dr. Aysın Yeltekin. EST Enerji

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Pacific LED Green Parking combine safety with savings

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma

Cases in the Turkish Language

AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition)

T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ

PACKAGE STITCHING SYSTEMS KOLİ DİKİŞ SİSTEMLERİ. MAKİNA SAN.TİC.LTD.ŞTİ KOLİ DİKİŞ MAKİNALARI ve DİKİŞ TELİ İMALATI GÜVENİLİR ÜRETİMDE DOĞRU TERCİH

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ AKADEMİK ÖZGEÇMİŞ FORMU

ÖZGEÇMİŞ. 1. Adı Soyadı : Kamile ŞANLI KULA İletişim Bilgileri : Ahi Evran Üniversitesi, Fen Edebiyat Fakültesi, Adres Matematik Bölümü, KIRŞEHİR

BCA605 Bilgisayar Oyunlarında Yapay Zeka

Gevşek Hesaplama (COMPE 474) Ders Detayları

Turkish and Kurdish influences in the Arabic Dialects of Anatolia. Otto Jastrow (Tallinn)

e-motion Operasyonel Sistemler - Operational Systems

Transkript:

YAPAY ZEKA KISIM - 3 Bulanık Mantık (Fuzzy Logic) Uzman Sistemler (Expert Systems) Genetik Algoritmalar (Genetic Algorithms) Yapay Yaşam (Artificial Life) Doğal Dil İşleme (Natural Lang Processing) Y. Doç. Dr. Aybars UĞUR 1

Bulanık Mantık (Fuzzy Logic) Felsefi Yaklaşım Kararlar, gerçeklik derecesine dayalı olarak verilir. Belirsizlik altında çıkarsama yöntemi değildir. Bulanık Olaylar (gerçekler) : Imprecise boundaries (kesin olmayan sınırlar) CA bölgesinde Az sayıda araç var. Olasılık Incomplete facts (eksik, tamamlanmamış gerçekler) CA bölgesinde iki araç olabilir. 2

Bulanık Kümeler (Fuzzy Sets) Klasik küme teorisi Bir nesne kümenin içindedir veya dışındadır. Keskin olmayan farklılıklardan söz edilemez. Bulanık kümelerin sınırları keskin değildir. Tamamı ile içinde veya dışında değildir. 6 boyundaki bir kişi 80% uzun kümesi içindedir. Bulanık küme teorisi Bir nesne belirli derecede bir kümenin içindedir. 1.0 => Kümenin içindedir. 0.0 => Kümenin içinde değildir. 0.0 < nesne < 1.0 => Kümenin kısmen içindedir. 0.35 Üyelik derecesi (Bulanık kümelerde dereceli üyelik tanımını ilk defa 1965 yılında California Üniversitesinden Prof. Dr. Lütfü A. Zade yapmıştır.) 3

Bulanık Değişken Meek Membership (Degree of Truth) 1.0 Medium Nasty -1-0.5 0.0 0.5 1 Aggressiveness 4

Bulanık Küme İşlemleri Tamamlayıcı (Değil) Üyelik FS 1.0 FS 0.0 Olma derecesi = 1.0 Olmama derecesi 5

Bulanık Küme İşlemleri VE Üyelik 1.0 Yaklaşık 1.80 Uzun A ifadesinin güven derecesi x, B ifadesinin güven derecesi y ise A ve B nin nedir? Örnek : How much faith in that person is about 1.80 high and tall 0.0 Uzunluk 6

Bulanık Küme İşlemleri VE 1.0 Üyelik Yaklaşık 1.80 Uzun Yaklaşık 1.80 ve uzun 0.0 Uzunluk 7

Bulanık Küme İşlemleri VEYA Üyelik 1.0 Yaklaşık 1.80 Uzun Yaklaşık 1.80 veya uzun 0.0 Height 8

Bulanık Kurallar (Fuzzy Rules) If our distance to the car in front is small, and the distance is decreasing slowly, then decelerate quite hard. Bulanık değişkenler Mavi Bulanık kümeler Kırmızı Durumlar, bulanık kümeler içinde. 9

Bulanık Denetim Sistemi Matematiksel Modeli Bilinmeyen Sistemlerde etkilidir. Bulanık Denetleme üç aşamada yapılır : Bulanıklaştırma (fuzzification) Bulanık Sonuçlandırma Durulaştırma (defuzzification) Bulanık niceliği kesin niceliğe dönüştürme işlemi : Karar verilip seçim yapılır. 10

Bulanık Mantık Yaygın Kullanım Alanları Fotoğraf ve çamaşır makinelerinde, klimalarda, baraj kapağı kontrolünde, Otomatik iletim ve üretim hatlarındaki ürün kalitelerinin denetiminde, Havacılık ve uzay araştırmalarında, Robotlarda. 11

Uzman Sistemler (Expert Systems) Uzman Sistem, belirli bir konuda uzman bir kişinin yapabildiği düşünme ve karar verme işlemlerini modelleyen yazılım sistemidir. Problemlere uzman bir kişinin getirdiği şekilde çözümler getirebilen bilgisayar programlarıdır. 12

Uzman Sistemler Yaygın Uygulama Alanları Tıp ve Askerlik Mühendislik ve CAD Endüstri (Üretim hatalarının ve arızaların belirlenmesi) İş ve Süreç Planlama Ekonomik Analizler 13

Çok Bilinen Uzman Sistemler DENDRAL (Molekül yapılarının belirlenmesi). MYCIN (Tıp alanında, bakteriyolojik ve menenjitik hastalıkların tedavisine yönelik bir sistem). PROSPECTOR (Maden arama çalışmalarında). 14

Uzman Sistem Kabukları Son zamanlarda uzman sistemlerin geliştirilmesinde uzman sistem kabuklarından expert system shell yaralanılmaktadır. Bu kabuklar, bir karar mekanizması, boş bir bilgi tabanı, kullanıcı-sistem arayüzü, bilgi mühendisinin kullanabileceği bir US geliştirme biriminden oluşur. Örnek : CLIPS, Leonardo ve Kappa. 15

Belirsizlik Altında Çıkarsama Uzman sistemlerde bilgi temsilinde genelde IF-THEN kuralları, frame lerle birlikte kullanılır. Belirsizlik altında çıkarsama yapmak için olasılık teorisinden yararlanılır. Bayes Teoremi. 16

Avantaj ve Dezavantajlar 17

Genetik Algoritmalar (Genetic Algorithms) Tanım Genetik Algoritmalar, doğal seleksiyon ve genetik kuralları üzerine kurulmuş arama algoritmalarıdır (Goldberg 1989). Yeri Genetik Algoritmalar, yapay zekanın hızlı gelişen alanlarından birisi olan evolutionary computing kapsamına girmektedir. 18

Genetik Algoritmalar (Yöntem) Bir probleme olası pek çok çözümün içerisinde en uygununu (en iyisini) bulmaya çalışan algoritmalardır. Popülasyon nesilden nesile geliştikçe kötü çözümler yok olma, iyi çözümler ise daha iyi çözümler oluşturmak için kullanılma eğilimindedirler. 19

Genetik Algoritmalar ve Genetik Programlama Genetik Algoritmalar (Genetic Algorithms) (GA) John Holland tarafından bulunmuş; kendisi, öğrencileri ve arkadaşları tarafından geliştirilmiştir. Holland ın "Adaption in Natural and Artificial Systems" adlı kitabı 1975 yılında yayınlanmıştır. 1992 yılında John Koza belirli işleri yaptırmak için geliştirdiği programlarda genetik algoritmalar kullanmıştır. Yöntemine Genetik Programlama "genetic programming" (GP) adını vermiştir. LISP programs were used, because programs in this language can expressed in the form of a "parse tree", which is the object the GA works on. 20

Biyolojik Terimler - I Tüm canlılar hücrelerden oluşur. Her hücrede aynı kromozom (chromosomes) dizisi vardır. Kromozomlar DNA stringleridir ve tüm organizmanın modelidir. Bir kromozom, gen (genes) adı verilen DNA bloklarından oluşur. Her gen gözlerin rengi gibi bir niteliği kodlamada kullanılır. Possible settings for a trait (e.g. blue, brown) are called alleles. Her genin kromozomda locus adı verilen belirli bir yeri vardır. Complete set of genetic material (all chromosomes) is called genome. Particular set of genes in genome is called genotype. The genotype is with later development after birth base for the organism's phenotype, its physical and mental characteristics, such as eye color, intelligence etc. 21

Biyolojik Terimler - II Reproduction During reproduction, recombination (or crossover) first occurs. Genes from parents combine to form a whole new chromosome. The newly created offspring can then be mutated. Mutation means that the elements of DNA are a bit changed. This changes are mainly caused by errors in copying genes from parents. The fitness of an organism is measured by success of the organism in its life (survival). 22

GA Operatörleri Çaprazlama ve Mutasyon Çaprazlama ve Mutasyon, Genetik Algoritmanın en önemli kavramlarıdır ve performansı özellikle bu iki operatör belirler. 23

Bir Kromozomun Kodlanması Kromozom temsilinde genelde Binary String ler kullanılır. Kromozom 1 : 1101100100110110 Kromozom 2 : 1101111000011110 Algorithm begins with a set of solutions (represented by chromosomes) called population. Solutions from one population are taken and used to form a new population. 24

Çaprazlama (Crossover) - I Kromozom 1 11011 00100110110 Kromozom 2 10010 11000011110 Sonuç Birey 1 11011 11000011110 Sonuç Birey 2 10010 00100110110 Crossover operates on selected genes from parent chromosomes and creates new offspring. The simplest way how to do that is to choose randomly some crossover point and copy everything before this point from the first parent and then copy everything after the crossover point from the other parent. 25

Çaprazlama (Crossover) - II Single point crossover 11001011+11011111 = 11001111 Two point crossover 11001011 + 11011111 = 11011111 26

Çaprazlama (Crossover) - III Uniform crossover 11001011 + 11011101 = 11011111 Arithmetic crossover 11001011 + 11011111 = 11001001 (AND) 27

Mutasyon (Mutation) - I Orijinal Birey 1 1101111000011110 Orijinal Birey 2 1101100100110110 Birey 1 (Mutasyon) 1100111000011110 Birey 2 (Mutasyon) 1101101100110110 In case of binary encoding we can switch a few randomly chosen bits from 1 to 0 or from 0 to 1. 28

Mutasyon (Mutation) - II Olası çözüm çeşitliliği az olabilir. Mutasyon reproduction ya da crossover sırasında gerçekleşebilir. Mutasyon olasılığı çok düşük tutulmalıdır (0.001% gibi). Yüksek m değeri uygun string leri de bozacak ve GA, çalışması sırasında problemlerle karşılaşacaktır. 29

Outline of the Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness] Evaluate the fitness f(x) of each chromosome x in the population 3.[New population] Create a new population by repeating following steps until the new population is complete 1.[Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) 2.[Crossover] With a crossover probability cross over the parents to form new offspring (children). If no crossover was performed, offspring is the exact copy of parents. 3.[Mutation] With a mutation probability mutate new offspring at each locus (position in chromosome). 4.[Accepting] Place new offspring in the new population 4.[Replace] Use new generated population for a further run of the algorithm 5.[Test] If the end condition is satisfied, stop, and return the best solution in current population 6.[Loop] Go to step 2 30

Genetik Algoritmaların Bazı Özellikleri Bir GA genelde 50 ile 500 arasında yineleme yapar. GA stokastik bir arama yöntemidir (SA). GA deterministik değil probabilistic tir (Randomization tekniklerine uyar). Aynı anda birden çok noktada çözüm aradıklarından yapıları gereği paralel çalışan algoritmalardır. 31

Basit Bir GA Örneği l (string uzunluğu) = 8, f(x) = x bit string indeki 1 lerin sayısı, n (popülasyon büyüklüğü) = 4, p c =0.7, p m =0.001 İlk rastgele oluşturulmuş popülasyonşöyle olacaktır: Kromozom etiketi Kromozom dizisi Fitness A 00001100 2 B 11101110 6 C 00100000 1 D 00110100 3 32

GA : Uygulama Alanları Optimizasyon Otomatik Programlama Makine Öğrenmesi (Yapay Sinir Ağlarında öğrenmeyi sağlayan ağırlık hesaplamaları, robotlar) Ekonomi Tıp Ekoloji Sosyal Sistemler (Böcek Kolonileri, Çok etmenli sistemlerde işbirliği) 33

Yapay Yaşam (Artificial Life) Çalışma alanı doğal yaşamdır. Doğal, yaşayan sistemlerin davranışsal özelliklerini sergileyen insan yapımı sistemler üzerine çalışmalardır. (C. G. Langton) Amaç : Doğal yaşamdaki temel dinamik prensipleri anlayarak bunları başka bir fiziksel ortam olan bilgisayarlar üzerinde tekrar oluşturmak, deneysel işlemler ve testler için ulaşılır hale getirmektir. 34

Uygulama Alanları Sanal Gerçeklik Robotbilim Trafik Eğitim Eğlence (Simcity,...) Askerlik Uzay Tıp Endüstriyel imalat - birleştirme Mühendislik 35

Cellular Otomata Cellular Otomata, Yapay yaşamın bir alt kümesidir. Von Neumann tarafından 1950 lerde ortaya atılmıştır. The Game of Life, John Horton Conway tarafından ortaya atılmıştır. Conway in cellular otomatasında sadece iki durum söz konusudur : bir hücre ya canlıdır veya ölüdür. Hücreler basit içsel kuralları takip ederler. Conway büyüme veya ölme eğilimlerinin dengelenmesini sağlamıştır. 36

Yapay Yaşamda Kullanılan Bazı Yöntemler Yapay Sinir Ağları Genetik Algoritmalar Etmenler ve Yapay Yaşam Simülatörleri 37

Karınca Kolonisi Optimizasyonu Karıncalar yiyecek kaynaklarından yuvalarına olan en kısa yolu herhangi görsel ipucu kullanmadan bulabilme yeteneğine sahiptirler. Karıncalar ilerlerken, belirli bir miktar feromon depo ederler ve olasılığa dayanan bir yöntemle feromon un daha çok olduğu yolu az olduğu yola tercih ederler. 38

Yapay Karıncalar Karınca tabanlı algoritmalarda temel fikir, basit iletişim mekanizmalarını kullanan yapay akıllı etmenlerin, bir çok karmaşık problem için çözümler üretebilmesidir. Karınca Kolonisi problemleri : Traveling Salesman Problem (TSP)... 39

Doğal Dil İşleme Doğal Dil Anlama (Natural Lang. Understanding) Belirli amaçlarla söylenen ve yazılan cümleleri anlama ile ilgilidir. Doğal Dil Üretme (Natural Lang. Generation) (Tam tersi) Söylenmek istenenleri, Türkçe veya İngilizce gibi doğal bir dil ile temsiliyle ilgilenir. 40

Doğal Dil Anlama 41

Doğal Dil Anlamanın 4 Aşaması Speech Recognition (Ses Tanıma) İşlenmemiş ses sinyalleri analiz edilerek, konuşulan kelime dizisi elde edilir. Syntactic Analysis (Sözdizimsel Analiz) Dilin gramer bilgisi kullanılarak kelimeler analiz edilir ve cümle yapısı elde edilir. 42

Doğal Dil Anlamanın 4 Aşaması Semantic Analysis (Anlam Analizi) Cümle yapısından ve içindeki kelimelerin anlamından yararlanılarak tüm cümlenin kısmi anlamı elde edilir. Pragmatic Analysis (Pragmatik Analiz) Genel durum yani şartlara bakılarak cümlenin anlamı tamamlanır. Kim, ne zaman, nerede kime dedi gibi. 43

Konuşmacı Tanıma Konuşmacı Saptama (Identification) Konuşmacı Doğrulama (Verification) Computer Vision ve diğerleri... 44

Some Java Tools http://www.developer.com/java/article.php/10922_1475381_2 JOONE JESS FuzzyJ JTP JADE 45

JOONE (Java Object Oriented Neural Engine) Joone is a neural net framework written in Java. It's composed by a core engine, a GUI editor and a distributed training environment and can be extended by writing new modules to implement new algorithms or architectures starting from base components http://sourceforge.net/projects/joone http://www.jooneworld.com/ 46

JESS (Java Expert System Shell) This tool is a commercial one but the binary file can be downloaded for free. This is a popular tool for building Expert Systems and Knowledge Base in Java. JESS has its own rule-language and it uses Backwardchaining reasoning. Note that the Java Rule Engine API from JSR-94 has a wrapper for JESS. Java Rule Engine has no rule-language of its own therefore it can rely on JESS for rule-language. JESS is a very important tool that can tie or link with other tools. You can extend it and incorporate other machine learning tools into it with less effort. There is no one solution for machine intelligence that solves all and it is a common practice to combine (hybridise) one or more methodologies, the more the better. Example, Protigi + JADE + JESS has been integrated well in Protigi. Fuzzy Logic can be incorporated into JESS through FuzzyJESS. It is also possible to integrate ANN (Artificial Neural Network), BBN (Bayesian Belief Network), CBR (Case-Based- Reasoning) and GA (Genetic Algorithm) into FuzzyJESS. The resulting hybrids of different machine learning methodologies would make a killer application (Java Rule Engine + JESS + Protigi + JADE + FuzzyJESS + ANN + BBN + GA + CBR). http://herzberg.ca.sandia.gov/jess/ 47

FuzzyJ ToolKit (for the Java(tm) Platform) & FuzzyJess The NRC FuzzyJ Toolkit from the National Research Council of Canada's Institute for Information Technology is a set of Java(tm) classes that provide the capability for handling fuzzy concepts and reasoning. It is hoped that this proves useful for exploring the ideas of fuzzy logic and fuzzy reasoning in a Java setting. Much of the work is based on earlier experience building the FuzzyCLIPS extension to the CLIPS Expert System Shell. The toolkit's API can be used standalone to create fuzzy rules and do reasoning, however, it can also be used with Jess, the Expert System Shell from the Sandia National Laboratories. The integration with Jess, FuzzyJess, provides a capability that is similar to but in many ways more flexible than FuzzyCLIPS. This work is currently at version 1.5a (NEW as of May 23, 2003). Future versions will be possible to maintain and follow Jess revisions with minimal effort since the integration with Jess has been carefully planned with the Jess author. http://ai.iit.nrc.ca/ir_public/fuzzy/fuzzyjtoolkit.html http://www.iit.nrc.ca/ir_public/fuzzy/fuzzyjtoolkit2.html 48

Java Theorem Prover (JTP) JTP is an object-oriented modular reasoning system developed by Gleb Frank in Knowledge Systems Laboratory of Computer Science Department in Stanford University. JTP is based on a very simple and general reasoning architecture. The modular character of the architecture makes it easy to extend the system by adding new reasoning modules (reasoners), or by customizing or rearranging existing ones. The system is implemented in Java. The reason for this choice is that Java is ideally suited for easy integration of object-oriented systems, which facilitates both extending JTP's functionality and embedding JTP in other systems. The abundance of supplementary software available in Java also helps. http://ksl.stanford.edu/software/jtp/ 49

Java Agent DEvelopment Framework (JADE) JADE (Java Agent DEvelopment Framework) is a software framework fully implemented in Java language. It simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of graphical tools that supports the debugging and deployment phases. The agent platform can be distributed across machines (which not even need to share the same OS) and the configuration can be controlled via a remote GUI. The configuration can be even changed at run-time by moving agents from one machine to another one, as and when required. JADE is completely implemented in Java language and the minimal system requirement is the version 1.4 of JAVA (the run time environment or the JDK). http://sharon.cselt.it/projects/jade/ JADE 3.2 has been released. http://www.fipa.org/ Foundation of Intelligent Physical Agents (FIPA) homepage 50

Other Java Tools http://www.w3.org/2001/sw/ Semantic Web homepage http://www.w3.org/rdf/ RDF homepage http://www.jcp.org/jsr/detail/94.jsp Java Rule Engine (JSR-94) http://www.jcp.org/jsr/detail/87.jsp Java Agent Services (JSR-87) http://www.jcp.org/jsr/detail/73.jsp Java Datamining API (JSR-73) http://protege.stanford.edu/index.html Protigi-2000 Java Tool for building Knowledge Base& Ontology http://leap.crm-paris.com/ Lightweight Extensible Agent Platform (LEAP) http://www.ai.sri.com/~oaa/ Open Agent Architecture http://research.compaq.com/src/esc/simplify.html Automatic Theorem-Prover called Simplify http://sourceforge.net/projects/aglets/ AGLET (Tool for development of mobile Multi Agents Systems) http://www-2.cs.cmu.edu/~javabayes/home/ JavaBayes (Bayesian Belief Network for Java) http://www.daml.org/ DAML (DARPA Agent Markup Language) homepage http://www.markwatson.com/ (Mark Watson) Lots of Java Sample Codes for Machine Intelligence in this author's homepage (refer book item 2 on the book lists) http://sourceforge.net/projects/selectionengine/ Selection Engine is a Java Case-Based-Reasoning Tool 51

Other Platforms Linux : www.ibiblio.org/pub/linux/docs/ HOWTO/otherformats/pdf/AI-Alife-HOWTO.pdf.NET ve C# : http://www.thecodeproject.com/csharp/#network http://franck.fleurey.free.fr/neuralnetwork/index.htm http://www.csharphelp.com/archives2/archive407.html MATLAB Neural Network Toolbox: http://www.mathworks.com/ http://www.mathworks.com/products/neuralnet/ Neural Networks and Mathematica : http://www.wolfram.com/products/applications/neuralnetworks/ NN Tools & Utilities : http://www.makhfi.com/tools.htm http://www.xasa.com/directorio/mozilla/top/computers/artificial_in telligence/neural_networks/software/ 52

EK 1 HILL CLIMBING ALGORITHM 53

EK 2 SIMULATED ANNEALING ALGORITHM 54

EK 3 GENERIC SEARCH ALGORITHM Path search(start, operators, is_goal) { fringe = makelist(start); while (state=fringe.popfirst()) { if (is_goal(state)) return pathto(state); S = successors(state, operators); } fringe = insert(s, fringe); } return NULL; Depth-first: insert=prepend; Breadth-first: insert=append 55

EK 4 GREEDY BEST-FIRST SEARCH ALGORITHM Path search(start, operators, is_goal) { fringe = makelist(start); while (state=fringe.popfirst()) { if (is_goal(state)) return pathto(state); S = successors(state, operators); } fringe = insert(s, fringe); } return NULL; Order the nodes in the fringe in increasing values of h(n) 56

EK 5 MINIMAX ALGORITHM 57

EK 6 A* ALGORITHM construct root (=start state) while front is non-empty do choose node n with best g+h remove n from front if n is not a goal node expand n remove dominated nodes end loop 58

EK 7 Tabu Search Algorithm - I Function TABU_SEARCH(Problem) returns a solution state Inputs: Problem, a problem Local Variables: Current, a state Next, State BestSolutionSeen, a state H, a history of visited states 59

EK 7 Tabu Search Algorithm - II Current = MAKE-NODE(INITIAL-STATE[Problem]) While not terminate Next = a highest-valued successor of Current If(not Move_Tabu(H,Next) or Aspiration(Next)) then Current = Next Update BestSolutionSeen H = Recency(H + Current) Endif End-While Return BestSolutionSeen 60