مايكروسوفت وجامعة كامبريدج تعملان على نظام يمكنه كتابة الكود الخاص به.!


لقد قيل أن حلم مُبتكري الذكاء الاصطناعي هو بناء نظام يمكنه كتابة برامج الكمبيوتر. وهذا ما يعمل عليه باحثون من جامعة كامبريدج ومايكروسوفت.

قام الفريق بشرح النظام المسمى بـ (DeepCoder) بأنه نظام ذكاء صناعي قام الفريق ببنائه، وهو قادر على التعلم وكتابة الكود الخاص به.

لكن كيف؟ يُجيب مات رينولدز (Matt Reynolds) في مجلة العالِم الجديد (New Scientist): «يستعمل ديب كودر تقنية تسمى “تأليف البرنامج”، إذ يتم إنشاء برامج جديدة عن طريق تجميع أسطر برمجية مأخوذة من البرامج الموجودة مسبقًا – كما يفعل المبرمجون. بإعطائه مجموعة من بيانات الإدخال والمخرجات، بإمكانه معرفة أي الأسطر البرمجية يجب أخذها للحصول على نفس النتائج».

نُشرت الورقة البحثية “ديب كودر: يتعلم كيفية كتابة البرامج” من قبل ميتاج بالوج (Matej Balog) من جامعة كامبريدج، وألكساندر جانت (Alexander Gaunt)، مارك بروكشميدت (Marc Brockschmidt)، سباستيان نووزين (Sebastian Nowozin)، دانييل تارلو (Daniel Tarlow) من شركة مايكروسوفت.

قال مؤلفو هذه الورقة أنهم يطرحون فكرتين أساسيتين في عملهم:

  • تعلُّم كيفية حث البرامج، وهذا يعني استعمال جسم البرنامج لتعلم استراتيجيات يمكن تعميمها لحل باقي المشاكل.
  • دمج الشبكات العصبية مع تقنيات تعتمد على البحث عوضًا عن استبدالهم.

العوائق في هذا المشروع:

يستطيع هذا البرنامج تحليل أبسط المسائل في مواقع المسابقات البرمجية فقط. وهذه المسائل سهلة بالمقارنة بمعظم المسائل في تلك المواقع. العديد من المشاكل تحتاج لخوارزميات أعقد لحلها مثل البرمجة الديناميكية أو خوارزميات البحث، والتي لم نصل إليها بعد.

يقول الباحثون: «يمثل ديب كودر اتجاهًا واعدًا للأمام، ونحن متفائلون بآفاق المستقبل باستعمال نظام يتعلم تفكيك البرامج. وقد استُوحيت فكرة البرنامج من المهام البسيطة الموجودة في مواقع المسابقات البرمجية».

وكان مُعدًا لتوضيح قوة اللغات المخصصة لمجال محدد. وقد خصصوا قسمًا محددًا في الورقة يظهرون فيه مثالًا عن تلك اللغات مع أمثلة عن مدخلات ومخرجات وشرح لها.

وقد عرفوا تلك اللغات بأنها “لغات مناسبة لمجال محدد لكنها مقيدة على عكس اللغات الكاملة.” وقد قالوا أن لغتهم مستوحاة من لغات الطلبات (query languages) مثل SQL و LINQ والتي تستخدم توابع متقدمة لمعالجة البيانات.

 

كيف سيتم استعمال ديب كودر؟

يقول إريك ديفيد (Eric David) في SiliconANGLE: «هدف الباحثين النهائي هو أن يستطيع الناس العاديين (غير المبرمجين) أن يقولوا لديب كودر ما يريدون بالضبط وعندها يتركون الذكاء الاصطناعي ليتكفل بالباقي، مما يخفض الوقت اللازم والكلفة».

وقد علقت مجلة New Scientist: «هذا العمل قد يجعل من السهل للناس بناء برامج بسيطة من دون أن يعرفوا البرمجة».

MSPoweruser تقول: «هذا النظام يمكنه أخذ الطلبات من المطور والبحث داخل قاعدة بيانات ضخمة من الأسطر البرمجية، وإعطاء المبرمج برنامجًا صحيحًا في ثوانٍ معدودة، والذي يعد خطوة كبيرة في فن تحليل البرامج».


ترجمة: محمد غيث الحلواني

تدقيق: جعفر الجزيري
الورقة البحثية
المصدر