ماذا قلت؟

"شخص آخر يجب أن يقول ما هو واضح للجميع" مثل

هذا النقش ، لم تجد Google / Yandex المؤلف



هذا هو الجزء الثاني من المقالة "ما هو واضح للجميع".

من أجل فهم أفضل لخوارزمية Z الموضحة فيها ، سأضيف هنا مثالًا جيدًا تم تقديمه مسبقًا في المناقشة / التعليقات.



تخيل أن المهمة تتمثل في إنشاء منحنى لبعض الوظائف T (X) على فترة زمنية معينة من القيم (المسموح بها). من المستحسن القيام بذلك بأكبر قدر ممكن من التفاصيل ، لكنك لا تعرف مسبقًا متى "ستمسك بيدك". تريد إنشاء قيم X بحيث في أي وقت يتم فيه مقاطعة رسم المنحنى (إنشاء معلمات X على فاصل زمني وحساب T (X)) ، يعكس الرسم البياني الناتج هذه الوظيفة بأكبر قدر ممكن من الدقة. سيستغرق الأمر مزيدًا من الوقت - سيكون الرسم البياني أكثر دقة ، ولكن - دائمًا أقصى ما هو ممكن في الوقت الحالي لوظيفة عشوائية .



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



يمكن أن تكون مهمة النمذجة وكائناتها (من الجزء الأول) في الحالة العامة مختلفة تمامًا: هناك نموذج نظري / مادي أو تقريب أم لا (الصندوق الأسود) - ستكون هناك فروق دقيقة في نماذج البناء في كل مكان. لكن الحاجة إلى إنشاء معلمات (بما في ذلك خوارزمية Z) جزء مشترك ومتكامل للجميع. هناك كائنات (على سبيل المثال ، مثل ) عندما يكون وقت الحصول على T طويلًا جدًا (أيام وأسابيع) ، ثم تتوقف خوارزمية اختيار خطوة جديدة وفقًا لمعايير أخرى ، وليس بسبب إكمال دورة الحساب الرئيسية في عملية موازية. ليس من المنطقي مواصلة تقليل الخطوة لتحسين البحث عن التنبؤ التالي T إذا كان التحسين المتوقع أسوأ بشكل واضح من خطأ النموذج و / أو أخطاء القياس T.



سأقدم توضيحًا آخر لتقسيم الفاصل الزمني المسموح به للحالة ثنائية الأبعاد لخوارزمية Z (K = 3 في الحقل 64 * 64):







النقاط المميزة في الشكل (9 قطع) هي نقاط البداية للحواف ووسط الفاصل الزمني ، وإذا لزم الأمر ، تعتبر خارج خوارزمية Z. يمكنك أن ترى أنه على طول الاتجاهات الأفقية والعمودية / "المسارات" التي تربط هذه النقاط التي تم إنشاؤها بواسطة الخوارزمية قيم Z مفقودة. من السهل حساب النقاط الإضافية هنا بشكل منفصل ، ولكن مع زيادة عدد النقاط على طول هذه الاتجاهات / "المسارات" ، سيتحسن تمثيل الوظيفة (تصبح "المسارات" أضيق) والحاجة إلى استكمال الخوارزمية نفسها (هناك حاجة إلى 7 خطوط ، منها 4 مشغلين في الحلقة الرئيسية في n ، انظر أدناه) أو لا أرى كيفية إنشاء عملية حسابية منفصلة. علاوة على ذلك ، في هذه الحالة ، يتدهور متوسط ​​كفاءة الخوارزمية ، ولن يكون هناك تحسن كبير في تمثيل النموذج (بالفعل بالنسبة لـ n> 8 ، تكون الخطوة في المعلمة أقل من 1/1000 ، انظر الجدول أدناه).



الميزة الثانية لخوارزمية Z هي (للحالة ثنائية الأبعاد) عدم التناسق في ترتيب إضافة النقاط - فهي أكثر تكرارًا على المحور / المعلمة Y ، ويتم محاذاة الصورة في نهاية كل دورة بواسطة n.



الخوارزمية Z ، حالة أحادية البعد ، بلغة VBA:



Xmax = 
Xmin = 
Dx = (Xmax - Xmin) / 2
L = 2
Sx = 0
For n = 1 To K
      Dx = Dx / 2
      D = Dx
      For j = 1 To L Step 2
            X = Xmin + D
				  Cells(5, X) = "O" '   - /   T(X)
            X = Xmax - D
				  Cells(5, X) = "O"
            D = D + Sx
       Next j
       Sx = Dx
       L = L + L
Next n


خوارزمية Z ، حالة ثنائية الأبعاد ، لغة VBA:



Xmax = 		'	65 -    , GIF
Xmin = 		'	1
Ymax = 		'	65
Ymin = 		'	1
Dx = (Xmax - Xmin) / 2
Dy = (Ymax - Ymin) / 2
L = 2
Sx = 0
Sy = 0
For n = 1 To K		'	K = 3	  GIF
      Dx = Dx / 2
      Dy = Dy / 2
      Tx = Dx
      For j = 1 To L Step 2
	X1 = Xmin + Tx
        X2 = Xmax - Tx
	Ty = Dy
        For i = 1 To L Step 2
	   Y = Ymin + Ty
	   Cells(Y, X1) = "O" '   - /   T(Y,X)
	   Cells(Y, X2) = "O"
	   Y = Ymax - Ty
	   Cells(Y, X1) = "O"
	   Cells(Y, X2) = "O"
	   Ty = Ty + Sy
         Next i
       Tx = Tx + Sx
       Next j
       Sx = Dx
       Sy = Dy
       L = L + L
Next n


التكاليف الحسابية:







العمليات الرئيسية المستخدمة في الحسابات موضحة بين قوسين معقوفين (لا تؤخذ تكاليف تنظيم الدورات في الاعتبار).



وتجدر الإشارة هنا إلى أن عملية القسمة [] "الثقيلة" في هذه الحالة ليست مكلفة ، لأن القسمة الصحيحة على 2 هي إزاحة برقم واحد. تميل التكاليف النسبية لعملية القسمة والتعيين ([=] ، المصطلح الثاني) بسرعة إلى الصفر مع زيادة K.



إجمالي النقاط:







متوسط ​​التكاليف:







للقيم الأولى لـ K ، سنجري العمليات الحسابية باستخدام هذه الصيغ ونملأ الجدول:





هنا "جزء الفاصل" هو الخطوة النسبية بين النقاط في نهاية الدورة بمقدار n.

يعرض السطر الأخير ("المتوسط") التكلفة النسبية لكل نقطة - نسبة الإضافات / عمليات الطرح. يميل الحد إلى 0.5625 أو 1 / 1.77777 لعملية الإضافة.



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



أطلب المساعدة في التوزيع والتنفيذ في كل من البرامج والأجهزة.



All Articles