Bunu cevaplamak zordur, çünkü tıpkı yapay zeka gibi, bunu başardığımızda bunu yapacak bir program yazacağımız için olacaktır. Ve eleştirmenler, "peki, bu makine gerçekten kendini programlamıyor! Verdiğiniz programı tam olarak takip ediyor!"
İyi evet. Bilgisayarlarla ne başaracak olursak olalım, ona bir program vererek yapacağız ve onu çalıştıracağız. Eğer bu bir argümansa, hiçbir şey başaramayız. Ve yine de, bir noktada, insanlar bilgisayarla oynanan bir satrancın açıkça akıllı olacağını düşündüler. Şimdi yapabilirler ve nasıl olduğunu tam olarak biliyoruz ve bunun akıllı olduğunu düşünmüyoruz. Denizaltılar hala yüzemiyor.
Yani - birkaç örnek düşünün.
On yıllardan beri ayrıştırıcı jeneratörlerimiz var . Onlara bir dil açıklaması verirsiniz, işlenir ve sonuç o dil için bir ayrıştırıcının kodudur. Nasıl yapıldığını tam olarak biliyoruz, ancak bu bir bilgisayarın kendisini programlaması değil mi?
Sana bir hata yaptığınızı söyleyen ikinci editörler (sözdizimi hatası, var olmayan değişken vb.). Hiçbir şeyi programlamaz, ancak yanlış bir şey yaptığınızı söyleyebilir. Sadece yüzeyde çok fazla.
Kullanıcı Arabirimi denetimlerini tıklayıp sürükleyebileceğiniz ve onları gerçekten çalıştıracak kod otomatik olarak oluşturulur.
JIT derleyicileri. Şu anda çalışan yazılımdaki etkin noktaları tanıyabilen ve bunlardan bazılarını yüksek düzeyde optimize edilmiş derlenmiş kodla değiştirebilen, çalışırken kendini optimize eden yazılım. Bence bu, tam olarak nasıl olduğunu öğrenene kadar bir makine programlama gibi görünen şeyin bir örneği ve daha sonra her zaman olduğu gibi programlayıcının söylediklerini yapmak olduğu ortaya çıkıyor.
Genel oyun oynama. Bu, araştırmacıların oyun kurallarının açıklamalarını okuyabilen, daha sonra programların birbirlerine karşı oynadığı programlar yazdığı ilginç bir araştırma alanıdır. Bu nedenle, tic-tac-toe programı veya satranç programı yerine, bunlar tic-tac-toe veya satranç kurallarını okuyan veya yerinde oluşturulan yeni bir oyun olan programlardır. Program kendisini programlamıyor, ancak satranç kuralları kodlanmadan satranç oynuyor. Bilgisayarın kendisine bir şeyler öğrettiği açıkça düşünülecek bir zaman vardı .
Genel yönde birçok küçük adım attık.
Ancak , önceki çalışmaların sonuçlarına göre kendilerini yeniden yazan veya kendi kodlarındaki eski veya verimsiz rutinleri tanıyabilen herhangi bir program düşünemiyorum . Sanırım bir gün buna sahip olacağız ve bunu en son derleyicinin bir özelliği olacağı için özel bir şey olarak düşünmeyeceğiz ...