تقليد

MIMIC ، المعروفة بأحرف كبيرة فقط، هي لغة برمجة حاسوبية سابقة للمحاكاة ، طُوِّرت عام 1964 على يد كلٍّ من إتش إي بيترسن ، وإف جيه سانسوم، وإل إم وارشاوسكي من مجموعة هندسة النظم التابعة لقيادة المواد الجوية في قاعدة رايت-باترسون الجوية في دايتون، أوهايو ، الولايات المتحدة الأمريكية. [ 1 ] وهي لغة محاكاة تعتمد على التعبيرات ، ولكنها قادرة على دمج كتل من الجبر الشبيه بلغة فورتران .

يُعدّ برنامج MIMIC تطوراً إضافياً لبرنامج MIDAS ( محاكي التكامل الرقمي التناظري المُعدّل ) ، الذي كان يُمثّل تصميم الحواسيب التناظرية . كُتب برنامج MIMIC بالكامل بلغة FORTRAN باستثناء روتين واحد بلغة COMPASS ، ويعمل على الحواسيب العملاقة من شركة Control Data ، وهو قادر على حلّ نماذج محاكاة أكبر بكثير.

باستخدام برنامج MIMIC، يمكن حل المعادلات التفاضلية العادية التي تصف النماذج الرياضية في العديد من التخصصات العلمية، كالهندسة والفيزياء والكيمياء والأحياء والاقتصاد، بالإضافة إلى العلوم الاجتماعية، بسهولة عن طريق التكامل العددي ، ويتم عرض نتائج التحليل في سرد ​​أو رسم بياني. كما يتيح البرنامج تحليل الظروف الديناميكية غير الخطية .

تُنفّذ حزمة برامج MIMIC، المكتوبة بلغة FORTRAN، عبارات الإدخال الخاصة بالنموذج الرياضي في ست دورات متتالية. تُجمَّع برامج المحاكاة المكتوبة بلغة MIMIC بدلاً من تفسيرها. جوهر حزمة المحاكاة هو مُكامل عددي ذو خطوة متغيرة لطريقة رونج-كوتا من الرتبة الرابعة . تتضمن الحزمة العديد من الدوال المفيدة المتعلقة بعناصر الدوائر الكهربائية، بالإضافة إلى بعض الدوال الرياضية الموجودة في معظم لغات البرمجة العلمية. لا حاجة لترتيب العبارات وفقًا لاعتمادية المتغيرات، لأن MIMIC يقوم بذلك داخليًا.

أجزاء البرنامج المنظمة في طبقات متراكبة هي:

  • MIMIN (إدخال) - يقرأ برنامج محاكاة المستخدم والبيانات،
  • برنامج MIMCO (المترجم) – يقوم بتجميع برنامج المستخدم وإنشاء مصفوفة تعليمات داخل الذاكرة الرئيسية،
  • MIMSO (فرز) - يقوم بفرز مصفوفة التعليمات وفقًا لاعتمادات المتغيرات،
  • برنامج MIMAS (المجمع) – يحول تعليمات BCD إلى كود موجه للآلة ،
  • MIMEX (تنفيذ) - يقوم بتنفيذ برنامج المستخدم عن طريق دمج،
  • MIMOUT (الإخراج) - يقوم بإخراج البيانات على شكل قائمة أو رسم بياني للبيانات.

مثال

مشكلة

لنأخذ نموذجًا للعلاقة بين المفترس والفريسة من مجال علم الأحياء البحرية لتحديد ديناميكيات تجمعات الأسماك وأسماك القرش. كنموذج بسيط، نختار معادلة لوتكا-فولتيرا والثوابت الواردة في دليل تعليمي. [ 2 ]

لو

f (t): عدد الأسماك بمرور الوقت (سمكة)
s (t): عدد أسماك القرش بمرور الوقت (أسماك القرش)
d f / dt أوو˙{\displaystyle {\dot {f}}}معدل نمو أعداد الأسماك (سمكة/سنة)
d s / dt أوs˙{\displaystyle {\dot {s}}}معدل نمو أعداد أسماك القرش (أسماك القرش/سنة)
α{\displaystyle \alpha }معدل نمو الأسماك في غياب أسماك القرش (1/سنة)
β{\displaystyle \beta }معدل الوفيات لكل مواجهة بين الأسماك وأسماك القرش (1/أسماك القرش في السنة).
γ{\displaystyle \gamma }معدل وفيات أسماك القرش في غياب فرائسها من الأسماك (1/سنة)
ϵ{\displaystyle \epsilon }: كفاءة تحويل الأسماك المفترسة إلى أسماك قرش (أسماك القرش/الأسماك)

ثم

و˙=αو-βوs{\displaystyle {\dot {f}}=\alpha f-\beta fs}
s˙=ϵβوs-γs{\displaystyle {\dot {s}}=\epsilon \beta fs-\gamma s}

مع الشروط الأولية

و(0)=وo{\displaystyle f(0)=f_{o}}
s(0)=so{\displaystyle s(0)=s_{o}}

تُعطى ثوابت المسألة على النحو التالي:

  • وo{\displaystyle f_{o}}= 600 سمكة
  • so{\displaystyle s_{o}}= 50 سمكة قرش
  • α{\displaystyle \alpha }= 0.7 سمكة/سنة
  • β{\displaystyle \beta }= 0.007 سمكة/قرش في السنة
  • γ{\displaystyle \gamma }= 0.5 سمكة قرش/سنة
  • ϵ{\displaystyle \epsilon }= 0.1 سمكة قرش/سمكة
  • tmax = 50 سنة
نموذج التعليمات البرمجية
أعمدة البطاقات ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ 12345678901234567890123456789012345678901234567890123456789012345678901 ----------------------------------------------------------------------- * نموذج بسيط للعلاقة بين المفترس والفريسة من علم الأحياء البحرية / (الدرس التعليمي 2: الحل العددي للمعادلات التفاضلية - 19/08/2002) مختبر ميكانيكا الموائع البيئية قسم الهندسة المدنية والبيئية جامعة ستانفورد * معادلة لوتكا-فولتيرا CON(F0,S0,TMAX) CON(ALPHA,BETA,GAMMA,EPS) 1DF = ALPHA*F-BETA*F*S F = INT(1DF,F0) 1DS = EPS*BETA*F*S-GAMMA*S S = INT(1DS,S0) HDR(الوقت، السمكة، القرش) OUT(T,F,S) PLO(F,S) FIN(T,TMAX) نهاية <EOR> 600. 50. 50. 0.7 0.007 0.5 0.1 <نهاية الملف>

مراجع

  1. مركز المعلومات التقنية للدفاع
  2. "الدرس التعليمي 2: الحلول العددية للمعادلات التفاضلية العادية" (ملف PDF) . جامعة ستانفورد - قسم الهندسة المدنية والبيئية، مختبر ميكانيكا الموائع البيئية. 19 أغسطس 2002. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 20 يوليو 2010. تاريخ الاطلاع: 26 فبراير 2012 .
ملحوظات
  • Control Data MIMIC؛ لغة محاكاة رقمية، دليل مرجعي، رقم المنشور 4461n400، شركة Control Data، منشورات الأنظمة الخاصة، سانت بول، مينيسوتا (أبريل 1968)
  • MIMIC، لغة برمجة بديلة للديناميكيات الصناعية، إن دي بيترسون، العلوم الاجتماعية والاقتصادية والتخطيطية 6، بيرغامون 1972
  • دليل MIMIC (1969)، مركز الحاسوب، جامعة ولاية أوريغون