تشخيص المنحنى

اللغة English Español Português العربية Русский 中文

تجيب هذه الصفحة:في أي مرحلة تقع هذه البيانات الآن، وما الذي يأتي بعدها؟

كيف تقرأ هذا الحكم: ينظر المحرك إلى الزخم، لا إلى المستوى.
درجة 6 تعني أمرين مختلفين تمامًا بحسب ما إذا كانت قد صعدت للتو من 2 أو تراجعت من 9 — يأخذ المحرك آخر 3 نقاط ويحسب الميل الحديث (القيمة الحالية − القيمة الثالثة من النهاية) ÷ 2، ثم يطرح منه الميل على مدى السلسلة كلها للحصول على التسارع. «المساحة المتبقية» = 10 − القيمة الحالية: أي مقدار بُعد القيمة عن قمة مقياس ±10، لا عدد النقاط الزمنية المتبقية. وتُحدَّد المرحلة بكميتين فقط: النطاق الذي تقع فيه القيمة الحالية (الخطوط الخمسة عند −8 / −4 / 0 / 5 / 8)، وما إذا كان الميل الحديث داخل ذلك النطاق موجبًا أو سالبًا، وحادًّا بدرجة كافية.

ما الذي تنقله هذه الصفحة وما لا تنقله (بصراحة)
· منقول: analyze_single_trend (كشف مرحلة سلسلة واحدة) — نطاقات المراحل الخمسة عشر كلها، وخطوط الفصل الخمسة −8/−4/0/5/8، والنطاقات الفرعية 0.5 / 1 / −0.5 / −1 داخل كل نطاق، وصيغتا remaining_space و score، واصطلاح أخذ آخر 3 نقاط لحساب الميل.
· غير منقول (لأنه غير مطلوب في هذه الصفحة لا لأنه غير متوافق): compute_main_line (يحتاج 7 خطوط فرعية موزونة)، وcross_validate (يحتاج ارتباطًا زوجيًا وعلاقة تقدّم/تأخّر) والاستنتاج الكلي لـ predict_trend — كلها تحتاج «7 سلاسل × نقاط كثيرة» كمدخل، بينما هذه الصفحة فيها سلسلة واحدة.
· فرق في الاصطلاح: في نسخة بايثون يأتي كل خط فرعي من أحد 7 أعمدة في قاعدة البيانات، وتحويل المقياس v*2−10 منسوخ هنا حرفيًا؛ أما status_label/status_color في قاعدة البيانات (اختراق قوي / انجراف عند مستوى منخفض …) فليس له مصدر بيانات في هذه الصفحة، لذلك لا يُعرض — فقد كان دائمًا اصطلاحًا مختلفًا عن مرحلة المحرك.
· الفاصلة العائمة: round() في بايثون يقرّب النصف إلى الزوجي، وpyRound() يحاكيه هنا؛ انظر تقرير المقارنة في مجلد البناء.

عيوب معروفة (مقيسة، وبصراحة)
· لا يمكن لنطاق «الهبوط الحاد» أن يُفعَّل داخل المدى 0–10 أبدًا. شرطه يكافئ «النقطة الثالثة من النهاية > القيمة الحالية + 2»، وبعد التحويل يكون السقف 10، فيصبح غير قابل للوصول. وقد أنتج مسح شامل للمدى 0–10 بخطوة 0.1 على كل الثلاثيات (1,030,301 تركيبة) 0 إصابة؛ وأشد ميل سلبي داخل المدى لا يقع إلا في «هبوط من القمة».
· فقط المدخل خارج المدى (قيم خام > 10 — مبالغ، أعداد، أي شيء على مقياس أكبر بكثير) هو ما يمكنه إنتاج «هبوط حاد».
· إذن: إن كنت تلصق مبالغ أو أعدادًا، فطبّعها إلى 0–10 قبل التشخيص، وإلا تغيّر السلوك ولن ينبّهك المحرك. في الوقت الحالي، اقرأ ذلك النطاق كإنذار بخروج المدخل عن المدى.

[قسم الأدلة · حيث يمكن التحقق من كل رقم]
(1) المصدر: ماكينة نقل الخوارزمية /opt/curve_engine/app_v4.2.py، الأسطر 387-472، وanalyze_single_trend() (قراءة فقط؛ لم تتغير في هذه الجولة)؛ وتحويل المقياس v*2-10 في السطر 205. وأرقام أسطر العتبات مسجلة في بطاقة العقد /opt/contracts/curve_engine.md تحت «العتبات/الأوزان المثبتة في الكود»: خطوط الفصل الخمسة −8/−4/0/5/8 = 398/402/411/420/433؛ والميول داخل النطاق 0.5/1/−0.5/−1 = 412/421/438/447؛ وremaining = 10 - current = 460؛ وscore=(current+10)/20*100 = 471؛ وميل آخر 3 نقاط = 394-395.
(2) ثلاث فئات
· [قابل للتحقق] نطاقات المراحل الخمسة عشر، وخطوط الفصل الخمسة، والنطاقات الفرعية للميل داخل النطاق، وصيغتا remaining_space و score، واصطلاح ميل آخر 3 نقاط — كل منها يقع حرفيًا على أرقام الأسطر تلك في app_v4.2.py.
· [اصطلاح عرض خاص بهذه الصفحة] المخطط الخطي SVG (مقياس ±10، markLine، علامات النقاط) ترسمه هذه الصفحة وليس مخرَجًا من الكود المصدري؛ فالمحرك لا يصدر إلا حقولًا رقمية.
· [لا مصدر موجود] لماذا تقع الخطوط الخمسة عند −8 / −4 / 0 / 5 / 8 ليس له ملاحظة أصل في كود المحرك ولا في بطاقة العقد (البطاقة تسجّل أرقام الأسطر لكن ليس أصلها).
(3) كيف تتحقق بنفسك: شغّل مثال «ارتفاع مطرد» في الصفحة 2.1,2.8,3.5,4.1,4.9,5.6,6.4,7.2,7.9 → القيمة الحالية 7.9 تقع في [5,8) وميل آخر 3 نقاط (7.9−6.4)/2 = +0.75 > 0 → ينبغي أن يعيد «يقترب من القمة»؛ ومثال «انخفاض مطرد» 9.2,8.6,7.8,7.1,6.3,5.4,4.6,3.7,2.9 → القيمة الحالية 2.9 تقع في [0,5) والميل (2.9−4.6)/2 = −0.85 < 0 → ينبغي أن يعيد «تباطؤ النمو». وإدخال الأرقام نفسها في سلسلة if/else عند app_v4.2.py 387-472 ينبغي أن يعطي النتيجة نفسها كلمة بكلمة.

ما يمكنك فعله بعد ذلك

أطلس المراحل

الفئات الخمس عشرة لمراحل تشخيص المنحنى، مع شروط الحكم الخاصة بكل منها ونص التوقعات الحرفي

سبب هذا الربط: تُخرج هذه الصفحة trend_verdict، وهذه الشريحة تأخذ trend_verdict كمدخل لها

تحويل المقاييس

يحوّل بين درجات 0~10 ومقياس المحرك −10~+10

سبب هذا الربط: الخطوة التالية اختيرت يدويًا (score-map)
أُنشئت بواسطة /opt/slices_build/build.py من المواصفة /_shared/slices/curve-diagnose.json — لتغيير هذه الصفحة، عدّل المواصفة وأعد تشغيل المولّد؛ لا تحرّر HTML يدويًا.