برمجة استقرائية
تاريخ

بدأ البحث عن التوليف الاستقرائي للبرامج الوظيفية العودية في أوائل السبعينيات وتم إدخاله على أسس نظرية ثابتة باستخدام نظام أطروحة سمرز  وعمل بيرمان. تم تقسيم هذه الأساليب إلى مرحلتين: أولاً، يتم تحويل أمثلة المدخلات والمخرجات إلى برامج غير متكررة باستخدام مجموعة صغيرة من العوامل الأساسية؛ ثانيًا، يتم البحث عن الانتظام في الآثار واستخدامها لطيهم في برنامج تعاودي. تم مسح النتائج الرئيسية حتى منتصف الثمانينيات من قبل سميث. بسبب التقدم المحدود فيما يتعلق بمجموعة البرامج التي يمكن تجميعها، انخفضت أنشطة البحث بشكل كبير في العقد المقبل.
جلب ظهور البرمجة المنطقية اتجاهًا جديدًا ولكن أيضًا اتجاهًا جديدًا في أوائل الثمانينيات، خاصة بسبب نظام المعلومات الإدارية (MIS) لشابيرو الذي أدى في النهاية إلى ظهور مجال جديد لبرمجة المنطق الاستقرائي, كان لأعمال بلوتكين المبكرة، والتعميم النسبي الأقل تعميمًا،  تأثير هائل في برمجة المنطق الاستقرائي. تتناول معظم أعمال برمجة المنطق الاستقرائي ILP فئة أوسع من المشكلات،  حيث أن التركيز ليس فقط على برامج المنطق العودي ولكن على التعلم الآلي للفرضيات الرمزية من التمثيلات المنطقية. ومع ذلك، كانت هناك بعض النتائج المشجعة في تعلم برامج برولوغ (Prolog)  العودية مثل الفرز السريع من الأمثلة جنبًا إلى جنب مع المعرفة الخلفية المناسبة، على سبيل المثال مع جولم (GOLEM). ولكن مرة أخرى، بعد النجاح الأولي، أصيب المجتمع بخيبة أمل بسبب التقدم المحدود حول استقراء البرامج التكرارية مع تركيز أقل وأقل من برمجة المنطق الاستقرائي (ILP)  على البرامج العودية والميل أكثر فأكثر نحو إعداد التعلم الآلي مع التطبيقات في التنقيب عن البيانات العلائقية واكتشاف المعرفة.
بالتوازي مع العمل في برمجة المنطق الاستقرائي، (ILP) اقترح كوزا البرمجة الجينية في أوائل التسعينيات كنهج قائم على التوليد والاختبار لبرامج التعلم. تم تطوير فكرة البرمجة الجينية إلى نظام البرمجة الاستقرائي  والنظام القائم على البحث المنهجي  يتم تعلم البرامج الوظيفية من مجموعات من الأمثلة الإيجابية جنبًا إلى جنب مع وظيفة تقييم المخرجات (الملاءمة) التي تحدد سلوك الإدخال / الإخراج المطلوب للبرنامج المطلوب تعلمه.
يرتبط العمل المبكر في الاستقراء النحوي (المعروف أيضًا باسم الاستدلال النحوي) بالبرمجة الاستقرائية، حيث يمكن استخدام أنظمة إعادة الكتابة أو البرامج المنطقية لتمثيل قواعد الإنتاج. في الواقع، اعتبرت الأعمال المبكرة في الاستدلال الاستقرائي الاستقراء النحوي واستدلال برنامج ليسب (Lisp) نفس المشكلة في الأساس. كانت النتائج من حيث قابلية التعلم مرتبطة بالمفاهيم الكلاسيكية، مثل التعريف في الحد، كما تم تقديمه في العمل الأساسي للذهب. في الآونة الأخيرة، تمت معالجة مشكلة تعلم اللغة من قبل مجتمع البرمجة الاستقرائي.
في السنوات الأخيرة، تم استئناف الأساليب الكلاسيكية وتطويرها بنجاح كبير. لذلك، تمت إعادة صياغة مشكلة التوليف على خلفية أنظمة إعادة كتابة المصطلح المبني  على المُنشئ مع مراعاة التقنيات الحديثة للبرمجة الوظيفية، بالإضافة إلى الاستخدام المعتدل للاستراتيجيات القائمة على البحث واستخدام المعرفة الأساسية وكذلك الاختراع التلقائي للبرامج الفرعية. ظهرت مؤخرًا العديد من التطبيقات الجديدة والناجحة خارج توليف البرنامج، وخاصة في مجال معالجة البيانات والبرمجة بالقدوة والنمذجة المعرفية.
تم استكشاف أفكار أخرى أيضًا مع السمة المشتركة لاستخدام اللغات التقريرية لتمثيل الفرضيات. على سبيل المثال، تمت الدعوة إلى استخدام ميزات أو مخططات أو مسافات منظمة ذات ترتيب أعلى من أجل معالجة أفضل لأنواع وهياكل البيانات العودية؛ تم استكشاف التجريد أيضًا باعتباره نهجًا أكثر قوة للتعلم التراكمي والاختراع الوظيفي.
أحد النماذج القوية التي تم استخدامها مؤخرًا لتمثيل الفرضيات في البرمجة الاستقرائية (بشكل عام في شكل نماذج توليدية) هو البرمجة الاحتمالية (والنماذج ذات الصلة، مثل برامج المنطق العشوائي والبرمجة المنطقية البايزية).