مرجع دائري
المرجع الدائري (أو دورة المرجع [ 1 ] ) هو سلسلة من المراجع حيث يشير الكائن الأخير إلى الكائن الأول، مما يؤدي إلى حلقة مغلقة.

مثال بسيط
يسأل وافد جديد أحد السكان المحليين عن مكان مكتبة البلدة. فيجيبه: "أمام مكتب البريد مباشرةً". يومئ الوافد الجديد برأسه، ثم يسأل: "لكن أين مكتب البريد؟"
"الأمر بسيط"، يجيب أحد السكان المحليين. "إنه خلف المكتبة مباشرة!"
باللغة
لا ينبغي الخلط بين الإشارة الدائرية والمغالطة المنطقية المتمثلة في الحجة الدائرية . فرغم أن الإشارة الدائرية غالبًا ما تكون غير مفيدة ولا تكشف عن أي معلومة، كما هو الحال مع مدخلين في فهرس كتاب يشيران إلى بعضهما البعض، إلا أن هذا لا يعني بالضرورة أنها عديمة الفائدة. فالقاموس، على سبيل المثال، يُعدّ في نهاية المطاف إشارة دائرية، إذ تُعرَّف جميع الكلمات فيه بدلالة كلمات أخرى، ومع ذلك يظل القاموس مرجعًا مفيدًا. ويمكن أن تكون الجمل التي تحتوي على إشارات دائرية ذات معنى.
- أهداها شقيقها قطة صغيرة؛ فشكرته أخته على ذلك.
هي حلقة مفرغة، لكنها ليست بلا معنى. في الواقع، يمكن القول إن الإشارة الذاتية هي نتيجة حتمية لقانون أرسطو في عدم التناقض ، وهو مبدأ فلسفي أساسي . من هذا المنظور، بدون الإشارة الذاتية، يصبح المنطق والرياضيات مستحيلين، أو على الأقل، يفتقران إلى الفائدة. [ 2 ] [ 3 ]
في برمجة الحاسوب
قد تظهر المراجع الدائرية في برمجة الحاسوب عندما يحتاج جزء من الكود إلى نتيجة جزء آخر، ولكن هذا الجزء يحتاج إلى نتيجة الجزء الأول. على سبيل المثال، الدالتان posn و plus1 في برنامج بايثون التالي تشكلان مرجعًا دائريًا:
دالة posn ( k : int ) -> int : إذا كان k < 0 : أرجع plus1 ( k ) أرجع kدالة plus1 ( n : int ) -> int : تُرجع posn ( n + 1 )قد تُعيد المراجع الدائرية، كما في المثال أعلاه، نتائج صحيحة إذا كان لها شرط إنهاء. أما إذا لم يكن لها شرط إنهاء، فإن المرجع الدائري يؤدي إلى حالة تُعرف باسم "التعطل" أو "الحلقة اللانهائية" ، مما يعني نظريًا أنها قد تستمر إلى ما لا نهاية.
def posn ( k : int ) -> int : return plus1 ( k )دالة plus1 ( n : int ) -> int : تُرجع posn ( n + 1 )في معيار ISO، تُدعم قيود التكامل الدائري في SQL ضمنيًا داخل جدول واحد. أما بين جداول متعددة، فيُسمح بالقيود الدائرية (مثل المفاتيح الخارجية) بتعريفها على أنها قابلة للتأجيل (انظر CREATE TABLE في PostgreSQL وأمثلة قيود DEFERRABLE في Oracle). في هذه الحالة، يُفحص القيد في نهاية المعاملة، وليس عند تنفيذ عبارة DML. لتحديث مرجع دائري، يمكن إصدار عبارتين في معاملة واحدة، بحيث تُلبّي كلتا العبارتين بمجرد إتمام المعاملة.
يمكن أن تحدث المراجع الدائرية أيضًا بين مثيلات البيانات من نوع قابل للتغيير، كما هو الحال في برنامج بايثون النصي هذا:
mydict : dict [ str , str ] = { "this" : "that" , "these" : "those" } mydict [ "myself" ] = mydict print ( mydict )ستُخرج الدالة ، حيث يشير إلى مرجع دائري، في هذه الحالة، إلى القاموس.print(mydict){'this':'that','these':'those','myself':{...}}{...}mydict
في جداول البيانات
تحدث المراجع الدائرية أيضًا في جداول البيانات عندما تتطلب خليتان نتيجة بعضهما البعض. على سبيل المثال، إذا أردنا الحصول على القيمة في الخلية A1 بإضافة 5 إلى القيمة في الخلية B1، وإذا أردنا الحصول على القيمة في الخلية B1 بإضافة 3 إلى القيمة في الخلية A1، فلن نتمكن من حساب أي قيمة. (حتى لو كانت المواصفات A1:=B1+5 وB1:=A1-5، فسيظل هناك مرجع دائري. ولا يُفيد في ذلك أن A1=3 وB1=-2، على سبيل المثال، تُحققان كلا الصيغتين، حيث توجد قيم أخرى لا حصر لها لـ A1 وB1 تُحقق كلا الحالتين).
يمكن أن تكون الإشارة الدائرية في أوراق العمل تقنية مفيدة للغاية لحل المعادلات الضمنية مثل معادلة كولبروك وغيرها الكثير، والتي قد تتطلب بخلاف ذلك خوارزميات نيوتن-رافسون المملة في VBA أو استخدام وحدات الماكرو. [ 4 ]
ينبغي التمييز بين العمليات التي تحتوي على مرجع دائري، سواءً تلك التي لا يمكن حسابها أو تلك التي تمثل حسابًا تكراريًا ذا مخرج نهائي. قد تفشل الأخيرة في جداول البيانات غير المجهزة للتعامل معها، ولكنها مع ذلك تظل صالحة منطقيًا. [ 3 ]
انظر أيضاً
- السببية – كيف تؤثر عملية ما على عملية أخرى
- التقارير الدائرية – يبدو أن هناك مصادر متعددة لبيانات مصدر واحد
- التولد الخلوي – تقارير دائرية على ويكيبيديا
- مشكلة التوقف – مشكلة في علوم الحاسوب
- العثور على مخطوطة في مكتبة - قصة قصيرة بقلم هال دريبر
- الدالة المتداخلة – دالة مُسماة مُعرّفة داخل دالة
- كوين (الحوسبة) – برنامج ذاتي التكاثر
- حجة التراجع – مشكلة فلسفية: صفحات تعرض أوصافًا موجزة لأهداف إعادة التوجيه
- الإحالة الذاتية - جملة أو فكرة أو صيغة تشير إلى نفسها
- هناك ثقب في دلوِي – أغنية أطفال كلاسيكية فكاهية
مراجع
- ↑ كلابنيك، ستيف؛ نيكولز، كارول. "دورات المراجع قد تتسبب في تسريب الذاكرة" . لغة برمجة رست . فريق رست . تم الاطلاع عليه بتاريخ 8 نوفمبر 2023 .
- ↑ تيري أ. أوزبورن ، مستقبل تعليم اللغات الأجنبية في الولايات المتحدة ، الصفحات 31-33، مجموعة غرينوود للنشر، 2002، رقم ISBN 0-89789-719-6.
- 1 2 روبرت فيينجو، روبرت ماي، المؤشرات والهوية ، الصفحات 59-62، مطبعة معهد ماساتشوستس للتكنولوجيا، 1994 ISBN 0-262-56076-3.
- ↑ "حل المعادلات الضمنية داخل ورقة العمل" من تأليف أنيلكومار م، والدكتور سرينيفاسان إي، والدكتور راغوناثان ك . مؤرشف من الأصل بتاريخ 17 أغسطس 2009. تم الاطلاع عليه بتاريخ 25 يونيو 2009 ..
- المغالطات السببية
- المنطق الفلسفي
- الإشارة الذاتية
