الذكاء الاصطناعي يكتب شفرته الخاصة!

نشر في 08-03-2017
آخر تحديث 08-03-2017 | 00:02
No Image Caption
«ابتعدوا أيها البشر! سأتولى أنا ذلك»... اكتسب نظام تعلّم آلي القدرة على كتابة شفرته الخاصة.
يستطيع نظام يُدعى DeepCoder، طوّره باحثون من «مايكروسوفت» وجامعة كامبريدج، أن يحلّ التحديات الأساسية من النوع المعتمد في مسابقات البرمجة. وتُسهّل هذه المقاربة على الناس بناء برامج بسيطة من دون معرفة كيفية كتابة الشفرات.

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

ستتيح هذه المقاربة في المستقبل لغير المبرمجين وصف فكرة لبرنامج بكل بساطة والسماح له ببنائها، حسبما يوضح مارك بروكشميدت، أحد مبتكري DeepCoder في مركز «مايكروسوفت للبحوث» في كامبريدج في المملكة المتحدة.

يعتمد DeepCoder تقنية تُدعى التحليل البرمجي: تطوير برامج جديدة بجمع أسطر شفرة مأخوذة من برامج قائمة، على غرار ما يقوم به المبرمج أحياناً. بعد تزويده بلائحة بالمعطيات التي ستُقدّم له والنتائج المتوقعة لكل جزء من الشفرة، تعلّم DeepCoder أجزاء الشفرة الضرورية للحصول على النتيجة النهائية المرجوة.

مزايا

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

نتيجة لذلك، يعمل هذا النظام بسرعة أكبر من سابقيه. فقد ابتكر DeepCoder برامج في أجزاء من الثانية، في حين احتاجت الأنظمة السابقة إلى دقائق كي تختبر تراكيب أسطر الشفرة الكثيرة والمختلفة قبل جمعها معاً في شفرة تؤدي الغرض المطلوب. ولما كان DeepCoder يتعلّم أية تراكيب من الشفرة التي يعتمد عليها فاعلة وأيها غير مناسبة، فيتحسن أداؤه في كل مرة يحلّ مسألة جديدة.

تطبيقات

لهذه التكنولوجيا تطبيقات محتملة عدة. في عام 2015، طوّر باحثون في معهد ماساتشوستس للتكنولوجيا برنامجاً يصلح تلقائياً فيروسات الكمبيوتر باستبدال أسطر فاعلة من برامج أخرى بأسطر الشفرة الخاطئة. ويؤكد بروكشميدت أن النسخ المستقبلية تسهّل إلى حد كبير بناء برامج روتينية تعتمد على معلومات من المواقع الإلكترونية أو تصنيف تلقائياً مثلاً صور موقع «فيسبوك» من دون أن يحرّك المبرمجون البشر إصبعاً. يوضح سولار-ليزاما: «ربما تساهم إمكانات الأتمتة التي يقدمها هذا النوع من التكنولوجيا في خفض إلى حد كبير مقدار الجهد الضروري لتطوير شفرة».

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

في الوقت الراهن، تقتصر قدرة DeepCoder على حلّ تحديات البرمجة التي تشمل نحو خمسة أسطر من الشفرة. ولكن مع لغة الشفرة المناسبة، تُعتبر هذه الأسطر الخمسة كافية لتطوير برامج معقدة إلى حد ما.

يختم سولار-ليزاما: «يُعتبر تطوير شفرة كبيرة دفعة واحدة عملية صعبة، بل غير منطقية. تُبنى الشفرات الكبيرة بجمع الكثير من أجزاء الشفرة الصغيرة معاً».

back to top