MindRun Project Nedir? Ne İşe Yarar?

Herkese yeniden merhaba, bu makalemde uzun zamandır üzerinde çalıştığım bir projemin tanıtım ve lansmanını yapacağım. Yapay Zeka (artificial intelligence) kategorisinde değerlendirilebilecek bu projenin fikir olarak geçmişi ve ilk denemeler çok öncelere dayanıyor fakat somut adımlar yakın zamanda atıldı. Şu anda ise ortaya en azından işe yarabilecek ve geliştirilmeye değecek bir iş çıktığını düşünüyorum

Bu makale kapsamında bilimsel literatürden uzak daha çok kişisel yorumlarımı içeren cümleler bulacaksınız çünkü yapay zeka’nın çok havada kalmış kimsenin ne olduğunu bilmediği fakat herkesin hollywood filmlerinden izleyip hakkında tahminler yürüttüğü bir kavram olduğunu düşünüyorum. Yapay zeka denildiğinde bilim çevreleri haricinde medya ve basın kuruluşları; “insanlığın sonununu getirecek robotlar”, “insan gibi düşünüp hisseden makineler” gibi haber ve söylemlerle konu hakkında bilgisi olmayan sıradan halk üzerinde algı yönetimi gerçekleştiriyor. Ben bu tür safsataların asla olmayacağını, medyanın her zamanki gibi “sağır duymaz uydurur” mantığı ile abarttığını düşünüyorum, bu düşüncemin temelini inançlarım oluşturuyor. İnsan yapımı bir makinenin bu denli büyük işler çıkaracağını ya da “çıkarmasına izin verileceğini” zannetmiyorum, ki insanlığın şu anki içler acısı durumuna bakıldığında robotlara akıl ve duygu yüklemeyi bırakıp kendisindeki halihazırda bulunması gereken bu özellikleri üzerine kafa yorması daha mantıklı olur.

Yapay zeka konusunda bu kadar konuştuktan sonra makalenin konusuna odaklanabiliriz. MindRun isimli projenin internet sitesine buradan ulaşabilirsiniz. sitenin görsel arayüzüne çok fazla eğilemedim, aklımdaki şablona yakın bir şeyler yapmaya çalıştım. Projenin amacı; Matematik problemlerini ve Gerçek dünya problemlerini modelleyip istenen bilgiye göre bu problemleri çözmek. Bu amaçlar için projeyi iki parçaya ayırdım. Matematik problemleri ve Mantık problemleri

Matematik problemleri için “Equation Solver” linkinden açılan sayfaki uygulamayı geliştirdim. Arkaplanda .Net ve Python kütüphanelerinin harmanlanmış bir sentezi çalışıyor. Matematik denklemleri üzerinde çalışmak, denklem kurmak, temel ifade işlemleri yapmak (expression processing) için .Net altyapılı C# ve F# teknolojisini kullanıyorum. Denklemleri çözmek için ise Python kullanıyorum. Python daha çok bilimsel projeler için geliştirilmiş, en azından bu işlere yatkın bir dil olduğu için .Net’e göre daha çok işime yarıyor.

Bu uygulama ile birinci ve ikinci dereceden denklemleri ile binomlar üzerinde işlemler yapabilir, denklem sistemlerini çözebilirsiniz. Bunun dışında ifadeler üzerinde sadeleştirme (simplify), çarpanlara ayırma (factorization), genişletme (expand) gibi temel matematiksel işlemleri yapabilirsiniz. Örnekleri görmek için “Examples” butonuna basabilir ya da “Documantation” sayfasını inceleyebilirsiniz.

Mantık problemleri için ise Mind Framework ismini verdiğim ve kendim geliştirdiğim bir kütüphaneyi kullanıyorum. Buradaki amaç; Bir problemi en sade şekilde modelleyip insan beynin düşünme sistemine benzer şekilde işleyip istenen bilgiyi elde etmek. Çalışan örneği görmek için “Mind Framework” sayfasını inceleyin. Burada basit bir Derleyici (compiler) arayüzü mevcut. Editor üzerinde kodunuzu yazıp “Execute” butonuna tıkladığınızda aşağıdaki konsol benzeri alanda sonucu göreceksiniz. Örnek kodları incelemek için “Documentation” sayfasını inceleyin. Mind Framework şimdilik; Yaş problemleri ve Hareket problemlerinin bir kısmını çözebilir.

→ Örnek;

Bir annenin yaşı büyük çocuğunun 3 katı küçük çocuğunun 7 katıdır. Küçük çocuk annenin bugünkü yaşına geldiğinde büyük çocuk 50 yaşında olacaktır. Buna göre annenin bugünkü yaşı kaçtır ?

person anne = new person("anne");
person bcocuk = new person("bcocuk");
person kcocuk = new person("kcocuk");

anne.age = 3 * bcocuk.age;
anne.age = 7 * kcocuk.age;

Workspace.Year = anne.age - kcocuk.age;
bcocuk.age = 50;

→ Konsol Çıktısı

>> Generating Equations…
anneyas = 3*bcocukyas
anneyas = 7*kcocukyas
bcocukyas + 6*kcocukyas = 50
>> Solving Equations…
{anneyas: 42, kcocukyas: 6, bcocukyas: 14}

→ Örnek;

Saatteki hızı 60 km olan bir araç A kentinden B kentine 9 saate gittiğine göre A kenti ile B kenti arası kaç km dir ?

vehicle araba = new vehicle("araba");
araba.speed = 60;

way ABarasi = new way("ABarasi");
ABarasi.distance = "x";

araba.Go(ABarasi, 9);

→ Konsol Çıktısı

>> Generating Equations…
arabahiz = 60
ABarasimesafe = x
x = 540

Projemin ilerleyen aşamalarında Doğal Dil İşleme (NLP: Natural Language Processing) uygulamalarından faydalanarak problem girdilerini direkt doğal cümlelerden almaya çalışacağım fakat bu zor ve bolca araştırma isteyen bir süreç ve bu süreçte tek başıma olduğumdan ötürü geliştirmeler biraz zaman alabiliyor.

Son olarak şu söylemek istiyorum ki; makalemin en başında bahsettğim gibi yapay zeka projelerinden abartılı işler beklemek doğru değil nitekim bu projeden ise tüm problemleri anlayıp çözmesi beklenemez buradaki amaç eğitim süreçlerinde kolaylaştırıcı bir eğitim uygulaması oluşturmaktır. Projeyi deneyerek, onu kullanarak ve gördüğünüz hataları bana bildirerek projeye katkı sağlayabilirsiniz.

 

Mustafa Tayyip YETİŞ
Yazılım Geliştirme Uzmanı

 

4.0 Ort. (83% puan) - 1 oy

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir