tag program sentezi
Bu sayfada program sentezi etiketi ile işaretlenmiş 1 yapay zeka kavramını bulabilirsiniz.
Program Sentezi (İng. Program Synthesis), belirli bir amaca yönelik yazılımın, insan programcı müdahalesi olmaksızın ya da minimum düzeyde müdahaleyle otomatik olarak üretildiği yapay zeka ve bilgisayar bilimi alanıdır. Bu süreçte sistem; doğal dil açıklamaları, girdi-çıktı örnekleri veya biçimsel mantık ifadeleri biçimindeki belirtimlerden (specification) hareketle çalışan ve doğru bir program üretir. Program sentezi sistemleri üç temel bileşen üzerinde çalışır: belirtim, arama uzayı ve değerlendirme mekanizması. Belirtim, sistemin ne yapması gerektiğini tanımlar. Arama uzayı, genellikle bir alan özgü dil (DSL) ile kısıtlanan olası programlar kümesidir. Değerlendirme mekanizması ise aday programların belirtimi ne ölçüde karşıladığını ölçer ve en uygun çözümü döndürür. Geleneksel yaklaşımlar bu aramayı sembolik yöntemlerle (SAT/SMT çözücüler, tümevarımsal mantık programlama) yürütürken modern yaklaşımlar sinir ağlarının olasılıksal yönlendirmesiyle aramayı hızlandırır. Nöro-sembolik sistemler her iki katmanı birleştirerek hem hız hem doğruluk avantajını bir arada sunmayı hedefler. Örnek tabanlı sentez (Programming by Example, PBE), kullanıcının birkaç girdi-çıktı çifti sağlamasıyla sistemin bu örnekleri genelleştiren programı bulduğu yaklaşımdır. Microsoft Excel'in FlashFill özelliği, milyonlarca kullanıcının program yazmadan veri dönüştürmesini mümkün kılmıştır. Nöral program sentezinde ise büyük kod veri kümeleri üzerinde eğitilmiş dil modelleri (GPT-4, Code Llama, AlphaCode) doğal dil ya da kısmi kod ipuçlarından tam program üretir. GitHub Copilot bu yaklaşımın en geniş kitleye ulaşan uygulamasıdır. Uygulama alanları arasında e-tablolarda veri temizleme, doğal dil sorgularından SQL üretme (Text-to-SQL), yazılım testlerinin otomatik oluşturulması ve biyoinformatik veri işleme öne çıkar. Alanın temel sınırlılığı, arama uzayı büyüdükçe hesaplama maliyetinin katlanarak artması ve büyük karmaşık programlarda doğruluğun güvence altına alınmasının güçleşmesidir. Bununla birlikte alan, yapay zekanın yazılım geliştirme üzerindeki dönüştürücü etkisinin en heyecan verici cephelerinden biri olmayı sürdürmektedir.