Hepinize merhaba,
Uzman sistem geliştirmek gerçekten de oldukça zor ve külfetlidir. Külfetli ve zordur ama tabiri caizse hem geliştiren hem de geliştirilen için tadından yenmez. Geliştiren için Adeta sisteminizin çalıştığı her yerde siz çalışıyor olursunuz. Şöyle ki hala çalıştığım çok şubeli, çok coğrafi bölgeli firmada lojistik bölümünde bir uzman sistemim çalışıyor. Perakende sektöründe çalıştığımdan yoğunluklarını tahmin edebilirsiniz.
Ben fiziksel olarak orada bulunarak o sistemi nasıl idare edeceksem, benim yerime benim mantığımı uyguladığı için adeta orada da benden bir tane var gibi sistemi hatasızlaştırmaktadır. Devam etmek gerekirse yine çalıştığım ve sevdiğim bu firmada satın alma departmanı için de geliştirdiğim bir uzman sistem bulunmakta ve tahmin edersiniz ki bir mühendis ya da hesap uzmanı gibi analitik düşünen ince hesaplar yapan bir uzman süreçleri nasıl kontrol altına alırsa sistem onu yapıyor. Yani benden bir adette orada var.. bazı uygunsuz ürünlerin kayıt altına alındığı ve bunlar üzerinde bazı işlemlerin yapıldığı ve sonuçlara göre bazı kararların verildiği bir başka çok basit bir uzman sistem uygulaması sayesinde yüzlerce personelin günlük 1-2 saat arasında değişen zaman kaybının önüne geçtik. Bu yaptığımızın en önemli getirisi o personelden aldığımız dualar olmuştur. Tabi firma açısından ciddi bir iş gücü ve zaman kazanımı olduğunu da atlamamak gerekir. yani orada da adeta bir uzman çalışmakta. bu şekilde çalıştığım firma için geliştirdiğim irili ufaklı uzman sistemler sayesinde adeta firmada en az 5-6 uzman/mühendis gereksinimini yok etmiş bulunuyoruz. 50 ye yakın şube ve 3 coğrafi bölgede faaliyet gösteren ve irili ufaklı makine/cihaz parkı 500ün üstüne çıkmış firmanın, yönettiğim I.T. departmanı sadece 3 kişiden oluşmakta. Tüm bunlar geliştirdiğimiz uzman sistemler sayesinde başarılmış getirilerdir. Geliştirdiğimiz Uzman sistemlerin girdiği diğer departmanlar da meydana gelen personel fazlalıklarını ve buralardan elde edilen maliyet tasarruflarını söylemeye gerek yok. Bu saydıklarım geliştirenin feyz alması için bir kaç neden..
Geliştirilen için belki de milyonlara mal olabilecek hataların önüne geçer aynı zamanda yüksek maliyetli uzmanlar çalıştırılmasını gerektirmez ve hatasız çalışır, personel tasarrufu sağlar. Ki güvenin bana diğer getirilerinin yanında personel ve uzman maliyeti bir hiç olarak kalabilir.
Tamamen mantığa dayalı olan bu sistemlerde en basit konular üstüne oluşturulacak bir uzman sistemin bile içinde bulunabilecek mantık döngüleri başınızı döndürecektir. Bazen kendi yazdığım kodları tam olarak anlayabilmek için bir kaç saatimi harcadığım olabiliyor çünkü adı üstünde mantık programlama. Ben, yani yazılım hayatına 80li yılların sonunda ilkokulda spagetti kodlar yazarak başlamış teknolojiye paralel olarak sırasıyla, yapısal sonrasında prosedürel sonrasında nesne tabanlı uygulamalar geliştirmiş birisi, size mantık tabanlı uzman sistemler geliştirmek zordur ve hataya çok açıktır, gerçek anlamda analitik düşünce gerektirir diyorsa dikkate almanızda fayda vardır. Bugün ve gelecekte bu alanda yazılım geliştiricilerin sayısı daima az olacaktır. Ve onlar daima değerli olacaklardır. Çünkü evde oturarak ya da buna gerek görmeyen işyerlerinde/alanlarda uzman sistem geliştirmek ve de onların çok işe yarar olmasını beklemek hayal olur. Tüm bu şartlar sağlansa bile bu sistemleri geliştirmenin yazılımsal zorluğu çok iyimser bir tahminle zaten mevcut yazılımcıların %90ını bu işin dışına otomatik olarak itecektir. Ve yine bugün ve gelecekte hevesle başlanan, geliştirilmeye çalışılan ve hatta bir süre sonuçlanıp çalıştığı düşünülen uzman sistemlerin bile bence en az %95i çöpe gidecektir.
Benim kanımca teknoloji henüz yapay zeka sistemlerinin ticari olarak satılmasını sağlayacak kadar gelişmedi. Tıpkı her firmanın başka uzmanı olması ve her uzmanın kendilerine göre teknikleri hareket tarzları olmasından dolayı Yapay zeka sistemleri standart bir halde piyasa ya da sektörlere sunulamaz. bu da bu alan yazılımcılarının sayısının çok çok az olacak olmasının en önemli etkenidir. Geliştirmekte ki zorluklardan birisi ise yazılan bir yapay zeka uzman sistemin tamamen yazılımcının/yazılım ekibinin ruhunu yansıtması. Bu şu anlama geliyor, Nasıl ki bir alanda uzmanların görüşleri hareket tarzları kendilerine has olabiliyorsa, bu yazılımları geliştirecek uzmanların da tercihleri kararları geliştirme yapıları o yazılımcıya has olmakta. Her ne kadar biz bu işte standartları zorlayacağız, dökümante edeceğiz, algoritmaları belirleyeceğiz denilse de (istisnaları hariç tutarsak) devam gerektiren projelerin neredeyse tamamında, sizden sonra bunu geliştirecek kişi,
ultra uzman olsa bile,(ki devam gerektiren yani aktif çalışan bir uzman sistem yazmışsanız sizden daha uzmanının bulunması zordur.. Daha da kötüsü için devam…)
bu mantıksal algoritmaları, dökümanları ANLASA bile (başka birisinin mantığını anlasanız bile mutlaka aklınıza bir şeyler gelir ya da başka türlü yapılabileceğini düşünürsünüz.)
ister istemez kendine has tarzını ve mantığını projeye yansıtması gerekeceğinden proje geri döndürülemez hata ve mantık ayrımlarına girecektir. Zaten bu alandaki yazılım geliştirici sayısının azlığını düşündüğünüzde bu aşamaya gelmiş projelerin genelinin yok olacağını tahmin etmek zor olmaz.
Yukarda ki cümlemde “devam gerektiren” dedim bu da sizi yanıltmasın. Bu projelerin ticari olamamasının bir nedeni de yaşayan bir organizma gibi olmalarıdır. Çünkü bir şeyi her zaman daha iyi yapmanın bir yolu vardır. İnsanlar ve yaptıkları işler sürekli bir gelişim içindedir. Bu da proje için kurguladığınız uzman sistem mantığınızın ve kurgularınızın sürekli geliştirilmesi gerektiği anlamına geliyor. Yani bir uzman sistem projesi sürekli güncel kalmalı sürekli geliştiricisi tarafından müdahale edilmelidir. Tüm bunlar neden bu alanda çok proje olmadığını ve neden çok kişi tarafından geliştirilemediğini bir miktar açıklıyor olmalı. Bu sayılanların haricinde en en kötüsü ise Allamei cihan bir yapay zeka yazsanız bile insanlar tarafından “-aa ne güzel program hangi dondurmayı seçeceğime karar verdi, gerçi ben bunu excelde de yapardım” diyen kişilerdir. Yazdığınız mantık abidesini, basit veritabanına kayıt ekleyen programlarla aynı kefeye koyan insanlardır. yani yaptığınızın değeri bir kaç kişi dışında asla bilinmeyecek, o bir kaç kişide teknik olarak ne başardığınızı bilmeyecek sadece işe yarar bir program olduğuna inanacaklardır….
Neyse ümitlerinizi çok kırmayayım. Bu kadar zorluğa rağmen başarıya ulaşmış bir uzman sistem tüm bu zorlukların bedelini fazlasıyla geliştiricisine ve kullanıcısına kazandırır. Ve bu kazanımlar o kadar büyük ve güzel olurlar ki peşpeşe yeni uzman sistem uygulamaları talepleri gelir.
Yapay zeka sistemlerinin kendi alt kırılımlarına göre avantajları ve dezavantajları bulunur. Bu alanda projeler geliştirmek isteyen kimseler tercih edecekleri alanları avantajları/dezavantajları değerlendirerek seçmesi gerekmektedir.
Bu bağlamda bizim üzerine eğileceğimiz Yapay Zeka’nın Uzman sistemler alt dalının avantajları ve dezavantajlarına bakacağız.
Gerçi avantajları ve dezavantajları sınırlamak sayıyla ifade etmek doğru değildir.
Ancak fikir edinebilmemiz için yukarda kendi hayatımdan bahsettiğim örnekleri ve bir kaç akla gelen başka maddeyi de sıralamakta fayda var.
Epey cümle sarfettik, artık avantajları sıralayalım.
Uzman Sistemlerin Avantajları:
Uzman Sistemlerin Dezavantajları:
Burada belirtmek istediğimiz bir uzman sistemin dezavantajlarından daha çok tasarım aşamasında veya kullanım aşamasında karşılaşılan güçlükler, ileriki zamanlarda yaşanabilecek problemleri içermektedir.
Bugünde epey yazmışız. saat 2çeyrek olmuş. bir sonraki yazımda Uzman sistemlerin yapısına gireceğim.
Kalın sağlıcakla.
aksakallar
bu konuda yazılmış en güzel makalelerden biri.İnsanoğlu kadim zamanlardan bu yana yapay zekayı kullanıyordu.Fakat şimdi bu kullanım modern teknoloji ile de desteklenince daha iyi olmuş.İçinde bulunduğumuz yüzyılın en büyük çalışma alanlarından biri de bu olacak.