العودة لقائمة المشاريع
عمل مصفوفة تغطية اختبارات بأقل حجم ووقت تنفيذ
الميزانية
$25.00 - $50.00
التصنيف
برمجة، تطوير المواقع والتطبيقات
المهارات المطلوبة
جافا سكريبت
البحث والتطوير
التعلم العميق
تصحيح برمجي
برمجة
C# Programming
جافا سكريبت
البحث والتطوير
التعلم العميق
تصحيح برمجي
برمجة
C# Programming
الوصف
لدي نموذج من ورقة بحثية سأعتمد عليه في تطوير وتحسين العمل باستخدام خوارزميات، سيتم تنفيذها بلغة جافا وعلى شكل مراحل. الهدف هو تحقيق نتائج أفضل مما قدمته الورقة البحثية. الأسلوب الذي اتبعته الورقة لتوليد الاختبارات المتسلسلة في المرحلة الأولى كان باستخدام خوارزمية الجشع (greedy algorithm)، ثم تم استخدام الخوارزمية نفسها في المرحلة الثانية لتقليل التكرارات عن طريق تحديد ما تم تكراره وحذفه. وفي المرحلة الثالثة تم تحسين النتائج باستخدام خوارزمية التبريد المحاكى (simulated annealing). باستخدام هذه الاستراتيجية، تمكنت الدراسة من تحقيق أصغر حجم لمصفوفة تغطي جميع التفاعلات بين المدخلات عندما تكون قيم T-way هي 3، 4، 5، و6. في كل مرة تكون هذه القيم موضحة في الجداول على الصفحة 13 من الورقة. على سبيل المثال، في الجدول 13، كانت التفاعلات بين ثلاثة عناصر من مجموعة من العناصر المشار إليها بالرمز k في العمود الأول، حيث تبدأ من 4 وتصل إلى 90. النتائج المؤشرة باللون الأحمر تمثل التحسينات التي توصلت إليها الدراسة مقارنة بدراسات أخرى.
لدي كود مكتوب بلغة جافا يقوم ببناء مصفوفات التغطية المتسلسلة باستخدام خوارزمية الجشع لتوليد التوليفات أو التفاعلات بنفس الأسلوب. لكن ما أهدف إليه هنا هو تنفيذ استراتيجية تجمع بين عدة خوارزميات لتحقيق أداء أفضل مما قدمته الورقة البحثية.
سأقوم بإرفاق الورقة البحثية وأيضًا الكودات المكتوبة كمثال عن كيفية تكوين مصفوفات الاختبارات، لتوضيح النتائج المتوقعة بشكل عام. النتائج النهائية ستتضح أثناء التنفيذ، وهدفي هو تقليل حجم المصفوفة قدر الإمكان. ولا يمكن تحقيق ذلك إلا باستخدام أحدث التقنيات والطرق في تقليل الحجم.
لدي خطة يمكن اتباعها تبدأ باستخدام خوارزمية الجشع التكيفية (adaptive greedy algorithm)، لأنها ستحسن النتائج الأولية من البداية مما يقلل الزمن، حيث تتنبأ الخوارزمية بالمستقبل على عكس خوارزمية الجشع التقليدية التي استخدمت في الورقة. ثم يمكن استخدام الخوارزمية لحذف التكرارات والوصول إلى تقنيات التحسين باستخدام خوارزميات مثل PSO أو ACO أو مزيج بينهما.
هذه تعتبر مرحلة أولية لمراحل لاحقة، وقد يمتد العمل إلى خمسة أو ستة مشاريع أخرى مع نفس المستقل إذا نجحت التجربة الأولى.