Havacılık ve Teknolojinin Buluşma Noktası
26081
page-template-default,page,page-id-26081,page-child,parent-pageid-25887,vcwb,ajax_fade,page_not_loaded,,select-theme-ver-3.5.2,menu-animation-underline-bottom,wpb-js-composer js-comp-ver-5.0.1,vc_responsive

PROGRAMLAMA DİLLERİNİN HABERLEŞMESİ

12 Ekim 2021- Selim ÇEKAL

artificial-intelligence

Programlama dillerinin birbirleriyle çalışabilmesini gerektiren bazı durumlar olabilir. Örnek olarak iki farklı dilde olan projenin birleştirilmesi ve projeye yeni eklenen katmanın farklı bir dille geliştirilmiş olması durumlarını verebiliriz.

Yapay zeka uygulamaları farklı dillerle geliştirilebilir. Hazır fonksiyonlar ve programlama dilinin yeteneğine göre bu uygulamalar için en uygun olanı Python’dur. Python ile geliştirilen yapay zeka uygulaması Java ile de geliştirilebilir ancak adam/zaman maliyeti göz önüne alındığında uygulamanın Python ile yapılması daha doğru bir karar olacaktır.

Python ile geliştirilen yapay zeka uygulamasının Java ile geliştirilen web servise entegrasyonu için birkaç yöntem bulunmaktadır. İlk olarak, Java projesine eklenecek bazı kütüphanelerle Python kodu çalıştırılabilir ve sonucu okunabilir. Bir diğer yöntem, Java koduyla konsoldan Python kodu çalıştırılarak yine sonuçlar okunabilir. Bunlar konuyla ilgili sorunumuzu çözecek sadece iki yöntem.

Konu yapay zeka ve sonuçlarının bir web platformunda görüntülenebilmesi olunca akıllara gelen en önemli sorun süredir. Yapay zeka uygulamasını kullanan bir web platformu nasıl olacak da kullanıcıyı fazla bekletmeden ona doğru sonuçları üretebilecek? Web sitelerinin en önemli özelliği mümkün olan en kısa sürede sonucu kullanıcıya sunmaktır. Yapay zeka uygulamalarıysa binlerce hatta milyonlarca veriyi kullanarak çeşitli algoritmalardan geçen ağır işlemlerden sonra sonuç üreten uygulamalardır. Dolayısıyla uzun sürede sonuç verirler.

Böyle bir uygulamayı Java web servise ekleyip sonucu web üzerinden kullanıcıya sunmak mümkündür ancak süre açısından kullanıcıyı kaybetmeye kadar giden büyük bir problemdir. Kullanıcı kayıplarının en büyük nedenlerinden biri web sitesinin geç cevap vermesidir. Doğal olarak, bu durum istenmeyen bir sonuçtur. Burada yapılması gereken yeniden teknolojiye başvurmak olacaktır.

Son zamanlarda hızla gelişen teknoloji bizlere güzel imkanlar sunuyor. İşlemcilerin gelişmesi 2, 4, 8 ve yükselmeye devam eden işlemci çekirdek sayıları bu güzel imkanlardan sadece birkaçı. Teknolojiye bağlı olarak programlama dillerinin gelişmesi de gecikmiyor.

Geliştirilen yapay zeka uygulamasının süre konusundaki sorununu çoklu işlem yöntemiyle çözebiliriz. Bunun için ihtiyacımız çok çekirdekli işlemciye sahip bir bilgisayardır. Uygulama işlemlerini çekirdeklere dağıtarak süreyi kısaltmak mümkündür. Böylece, uygulama kullanıcıya işlemci ve çekirdek sayısına bağlı olarak daha kısa sürede cevap verecektir.

İş bu kadarla da kalmayabilir. Daha çok veri, daha çok işlem ve dolayısıyla daha çok süre demektir. Peki, bu durumda ne yapılabilir? Kullanıcıya sonuçları göstermenin süresi daha da artacaktır. Teknoloji ve yazılım burada da durmayacak, bize yardım edecektir. Python için geliştirilmiş kütüphaneler sayesinde, kullanılan veriler ne kadar çok olursa olsun yapay zeka için kullanılan model tek seferde çalıştırılıp sistemde erişilebilir duruma getirilirse, uygulama bu modeli her seferinde baştan çalıştırmayacak ve bir defa oluşturduğu modeli kullanarak kullanıcılara kısa sürede sonuç verecektir.

Sonuç olarak, istediği cevabı mümkün olan en kısa sürede yapay zeka uygulamasından alan kullanıcılar verilen hizmetten tatmin olacaktır. Yazılım geliştiricilerineyse işini en iyi şekilde yapmış olmanın gururuyla teknolojinin geleceğine yeni bir adım atmanın deneyimi kalacaktır.