هل يجب دائما رفض المدخلات غير المتصلة؟
فقط إذا تطلب التطبيق بنية متصلة واحدة. لنتيجة على هيئة غابة قد تكون المكونات غير المتصلة صحيحة. وضّح هذا التمييز قبل طلب إصلاح كي لا يفرض المساعد اتصالات لم توفرها المدخلات أصلا.
جد غابة امتداد دنيا حتى 64 عقدة و1024 حافة بأوزان صحيحة ضمن ±10^9.
def spanning_forest(count, edges):
if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
raise ValueError("forest.input")
ordered = []
for edge in edges:
if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
raise ValueError("forest.edge")
a, b, weight = edge
if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
raise ValueError("forest.bounds")
ordered.append((weight, min(a, b), max(a, b)))
parent = list(range(count))
def root(node):
while parent[node] != node:
parent[node] = parent[parent[node]]
node = parent[node]
return node
selected, total = [], 0
for weight, a, b in sorted(ordered):
x, y = root(a), root(b)
if x != y:
parent[x] = y
selected.append((a, b, weight))
total += weight
return total, selected
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
اختبر العقد المنفصلة والحواف المتوازية والحلقات والتعادل الحتمي وارفض الأطراف الخاطئة والقيم المنطقية دون تغيير المدخل.
def spanning_forest(count, edges):
if type(count) is not int or not 0 <= count <= 64 or type(edges) is not list or len(edges) > 1024:
raise ValueError("forest.input")
ordered = []
for edge in edges:
if type(edge) not in (list, tuple) or len(edge) != 3 or any(type(x) is not int for x in edge):
raise ValueError("forest.edge")
a, b, weight = edge
if not 0 <= a < count or not 0 <= b < count or abs(weight) > 10**9:
raise ValueError("forest.bounds")
ordered.append((weight, min(a, b), max(a, b)))
parent = list(range(count))
def root(node):
while parent[node] != node:
parent[node] = parent[parent[node]]
node = parent[node]
return node
selected, total = [], 0
for weight, a, b in sorted(ordered):
x, y = root(a), root(b)
if x != y:
parent[x] = y
selected.append((a, b, weight))
total += weight
return total, selected
يمنح Forellin المطورين مساحة عمل للبرمجة بالذكاء الاصطناعي على Windows لفحص شيفرة معالجة الرسوم البيانية مع التطبيق الذي يعتمد عليها. ابدأ محادثة المشروع بتمثيل المدخلات والنتيجة التي يحتاجها المستدعي. اطلب من المساعد فحص تعامل التنفيذ مع الاتصالات المفقودة والحواف المكررة وترتيب المخرجات قبل اقتراح تغيير. تشكّل هذه الخيارات الميزة بقدر الحساب الأساسي.
يقترح سياق spanning_forest.py مهمة تكون فيها العقد غير المتصلة متوقعة بدلا من اعتبارها محاولة فاشلة لوصل الجميع. يمكنك طلب شرح الحواف المختارة وعلاقة المجموع بها. راجع الإجابة مقابل رسم بياني صغير تستطيع فحصه يدويا، ثم اطلب ترقيعا محددا إن احتاج عقد النتيجة أو التحقق تعديلا.
شغّل فحوص المشروع على مدخلات متصلة وأخرى غير متصلة وافحص تمثيل العقد المعزولة في التطبيق المحيط. إن وجدت نتائج صحيحة متعددة، فاتفق على أهمية حتمية الاختيار للمستهلك. يقبل Forellin نقاطا مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، مع بيانات اعتماد عند الحاجة. يمكن اختيار نموذج ذكاء اصطناعي غير مفلتر عند توفره، لكن القيود والأدوات وسعة السياق تبقى معتمدة على الخدمة المضبوطة. تدعم مساحة العمل استقصاءك؛ وتدعم أمثلة الرسوم البيانية ونتائج الاختبار قبول الشيفرة.
فقط إذا تطلب التطبيق بنية متصلة واحدة. لنتيجة على هيئة غابة قد تكون المكونات غير المتصلة صحيحة. وضّح هذا التمييز قبل طلب إصلاح كي لا يفرض المساعد اتصالات لم توفرها المدخلات أصلا.
قرر إن كان أي حل أمثل صحيح مقبولا أم يحتاج المستهلك اختيارا قابلا للتكرار. إذا كان الترتيب أو سلوك التعادل مهما فاجعله جزءا من النتيجة المتوقعة واختبره صراحة بدلا من الاعتماد على ترتيب عرضي للمدخلات.
استخدم مثالا صغيرا وقارن الحواف المختارة بمجموع أوزانها بصورة مستقلة. افحص أيضا إن كان المستدعي يتوقع المجموع فقط أم البنية المختارة، لأن المخرجين يدعمان سلوكين مختلفين للتطبيق.
قد تختفي من نتيجة لا تضم إلا الحواف حتى حين تشملها المدخلات. افحص التمثيل المحيط وقرر كيفية احتفاظ التطبيق بتلك العقد أو عرضها، بدلا من افتراض أن الحواف المختارة تصف كل رأس.
Forellin · آخر تحديث 2026-10-25