مشكلة يوسيفوس

يوضح تفسير كلود غاسبار باشيه دي ميزيرياك لمسألة يوسيفوس مع 41 جنديًا وخطوة مقدارها 3، أن المكانين 16 و31 هما آخر من يُقتل - يتقدم الوقت إلى الداخل على طول الحلزون، وتشير النقاط الخضراء إلى الجنود الأحياء، والرمادية إلى الجنود القتلى، والصلبان إلى عمليات القتل.

في علوم الحاسوب والرياضيات ، تُعدّ مسألة جوزيفوس (أو تبديل جوزيفوس ) مسألة نظرية مرتبطة بلعبة عدّ معينة . تُستخدم هذه الألعاب لاختيار شخص من بين مجموعة، مثل لعبة " إيني ، ميني، مايني، مو" .

رسم توضيحي لتسلسل مسألة يوسيفوس لـ 500 شخص وقيمة تخطي 6. يمثل المحور الأفقي رقم الشخص. ويمثل المحور الرأسي (من الأعلى إلى الأسفل) الزمن (عدد الدورات). يُرسم الشخص الحي باللون الأخضر، والشخص الميت باللون الأسود. [ 1 ]

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

المشكلة - بالنظر إلى عدد الأشخاص ونقطة البداية والاتجاه والرقم المراد تخطيه - هي اختيار الموضع في الدائرة الأولية لتجنب التنفيذ.

تاريخ

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

مع ذلك، في هذه المحنة الشديدة، لم يفقد فطنته المعهودة؛ بل توكل على الله، فخاطر بحياته [على النحو التالي]: "والآن،" قال، "بما أنكم قد قررتم الموت، فلنترك مصيرنا للقرعة. من تقع عليه القرعة أولاً، فليقتله من تقع عليه الثانية، وهكذا يسير القدر بيننا جميعاً؛ ولن يهلك أحد منا بيده اليمنى، لأنه من الظلم أن يندم أحد وينقذ نفسه بعد موت الآخرين." بدا لهم هذا الاقتراح عادلاً للغاية؛ ولما أقنعهم بحسم الأمر بالقرعة، سحب هو أيضاً قرعة لنفسه. كشف من وقعت عليه القرعة الأولى عن رقبته لمن وقعت عليه الثانية، ظناً منه أن القائد سيموت بينهم فوراً؛ لأنهم اعتقدوا أن الموت، إن مات يوسيفوس معهم، أحلى من الحياة. ومع ذلك، هل تُرك مع آخر حتى النهاية، سواء أكان ذلك محض صدفة أم بتدبير من الله؟ ولأنه كان شديد الحرص على ألا يُحكم عليه بالقرعة، ولا أن يُلطخ يده اليمنى بدماء أبناء وطنه إن تُرك حتى النهاية، فقد أقنعه بأن يثق في وفائه له، وأن يعيش حياة كريمة كما يعيش هو.

يوسيفوس ، بدون تاريخ، ص 579، حروب اليهود، الكتاب الثالث، الفصل 8، الفقرة 7 

تفاصيل الآلية المستخدمة في هذا العمل غامضة إلى حد ما. وفقًا لجيمس داودي ومايكل مايز، [ 2 ] اقترح كلود غاسبار باشيه دي ميزيرياك في عام 1612 آلية محددة تتمثل في ترتيب الرجال في دائرة والعد ثلاثًا ثلاثًا لتحديد ترتيب الإقصاء. [ 3 ] وقد تكررت هذه القصة مرارًا، وتختلف التفاصيل المحددة اختلافًا كبيرًا من مصدر لآخر. على سبيل المثال، يذكر إسرائيل ناثان هيرشتاين وإيرفينغ كابلانسكي (1974) أن يوسيفوس و39 من رفاقه وقفوا في دائرة، حيث تم إقصاء رجل واحد من كل سبعة رجال. [ 4 ] ويمكن الاطلاع على تاريخ هذه المسألة في رسالة إس إل زابيل إلى محرر مجلة فيبوناتشي الفصلية . [ 5 ]

أما فيما يتعلق بالقصدية، فقد تساءل يوسيفوس: "هل نعزوها إلى العناية الإلهية أم إلى محض الصدفة؟" [ 6 ] لكن المخطوطة السلافية الباقية ليوسيفوس تروي قصة مختلفة: أنه "أحصى الأعداد بذكاء وتمكن بذلك من خداع الآخرين". [ 6 ] [ 7 ] كان ليوسيفوس شريك؛ وكانت المشكلة حينها هي إيجاد مكاني الناجيين الأخيرين (اللذين تضمن مؤامرتهما بقاءهما). يُزعم أنه وضع نفسه والرجل الآخر في المركزين 31 و16 على التوالي (حيث k = 3 أدناه). [ 8 ]

المتغيرات والتعميمات

نسخة معدلة من مسألة يوسيفوس مع 30 شخصًا وخطوة مقدارها 9 - يتقدم الوقت نحو الداخل على طول الحلزون، وتشير النقاط الخضراء إلى الجنود الأحياء، والرمادية إلى الجنود القتلى، والصلبان إلى عمليات القتل

تتضمن إحدى نسخ معضلة يوسيفوس في العصور الوسطى وجود 15 تركيًا و15 مسيحيًا على متن سفينة في عاصفة عاتية، ستغرق ما لم يُلقَ نصف ركابها في البحر. يقف جميع الركاب الثلاثين في دائرة، ويُلقى كل تاسع شخص في البحر. على المسيحيين تحديد أماكن وقوفهم لضمان إلقاء الأتراك فقط. [ 9 ] وفي نسخ أخرى، تتبادل الأدوار بين الأتراك والمسيحيين.

يصف Graham و Knuth و Patashnik 1989 ، ص. 8 متغيرًا "قياسيًا" ويدرسونه: تحديد مكان آخر ناجٍ إذا كان هناك n من الأشخاص للبدء ويتم استبعاد كل شخص ثانٍ ( k = 2 أدناه). 

يُمكن تعميم هذه المسألة كما يلي: يُفترض أن كل شخص رقم m سيُستبعد من مجموعة حجمها n ، حيث يكون الشخص رقم p هو الناجي. إذا أُضيف x شخص إلى المجموعة، فإن الناجي يكون في الموضع p + mx إذا كان هذا العدد أقل من أو يساوي n + x . أما إذا كانت x هي أصغر قيمة تجعل p + mx > n + x ، فإن الناجي يكون في الموضع ( p + mx ) - ( n + x ) . [ 10 ]

حل

الموضع قبل الأخير (الوردي) والموضع الأخير (الأزرق الداكن) في مسألة جوزيفوس لأحجام مجموعات مختلفة، n ، وأحجام خطوات مختلفة، k . في ملف SVG، مرر مؤشر الماوس فوق القيم لعرض الترتيب الكامل للقتل.

فيما يلي،ن{\displaystyle n}يشير إلى عدد الأشخاص في الدائرة الأولية، وك{\displaystyle k}يشير إلى عدد الخطوات، أيك-1{\displaystyle k-1}يتم تجاهل الأشخاص وك{\displaystyle k}يتم تنفيذ الأمر رقم -th. يتم ترقيم الأشخاص الموجودين في الدائرة من1{\displaystyle 1}لن{\displaystyle n}، حيث يكون وضع البداية1{\displaystyle 1}والعد يشمل جميع الحالات .

k = 2

تُحل المشكلة بشكل صريح عندما يُقتل شخص واحد من كل شخصين (أي أن كل شخص يقتل الشخص الذي على يساره أو يمينه)، أيك=2{\displaystyle k=2}(للحالة الأكثر عمومية)ك2{\displaystyle k\neq 2}(يُوضح الحل أدناه.) يُعبّر عن الحل بشكل تكراري . ليكنو(ن){\displaystyle f(n)}يشير إلى موقع الناجي عندما يكون هناك في البداية n شخصًا (وك=2{\displaystyle k=2}في الدورة الأولى، يموت جميع الأشخاص ذوي الأرقام الزوجية . وفي الدورة الثانية، يموت الشخص الثاني الجديد، ثم الشخص الرابع الجديد، وهكذا؛ وكأن الدورة الأولى لم تكن موجودة أصلاً.

إذا كان العدد الأولي للأشخاص زوجيًا، فإن الشخص الموجود في الموضع x خلال الدورة الثانية حول الدائرة كان في الأصل في الموضع x.2x-1{\displaystyle 2x-1}(لكل اختيار لـ x ). ليكنن=2ج{\displaystyle n=2j}الشخص فيو(ج){\displaystyle f(j)}الشخص الذي سينجو الآن كان في الأصل في هذا المنصب2و(ج)-1{\displaystyle 2f(j)-1}وهذا ما ينتج عنه التكرارو(2ج)=2و(ج)-1.{\displaystyle f(2j)=2f(j)-1.}

إذا كان العدد الأولي للأشخاص فرديًا ، فيمكن اعتبار الشخص رقم 1 ميتًا في نهاية الدورة الأولى حول الدائرة. ومرة ​​أخرى، خلال الدورة الثانية حول الدائرة، يموت الشخص الثاني الجديد، ثم الشخص الرابع الجديد، وهكذا. في هذه الحالة، كان الشخص الموجود في الموضع س في الأصل في الموضع س2x+1{\displaystyle 2x+1}وهذا ما ينتج عنه التكرار و(2ج+1)=2و(ج)+1.{\displaystyle f(2j+1)=2f(j)+1.}

عندما يتم جدولة القيمن{\displaystyle n}وو(ن){\displaystyle f(n)}يظهر نمط ( OEIS : A006257  ، وهو أيضًا العمود الأيسر من الأرقام الزرقاء في الشكل أعلاه):

ن12345678910111213141516
و(ن){\displaystyle f(n)}1131357135791113151

يشير هذا إلى أنو(ن){\displaystyle f(n)}هي متتالية فردية متزايدة تبدأ من جديد معو(ن)=1{\displaystyle f(n)=1}عندما يكون الدليل n قوة للعدد 2. لذلك، إذا تم اختيار m و l بحيثن=2م+ل{\displaystyle n=2^{m}+l}و0ل<2م{\displaystyle 0\leq l<2^{m}}، ثمو(ن)=2ل+1{\displaystyle f(n)=2l+1}من الواضح أن القيم في الجدول تحقق هذه المعادلة. أو يمكن افتراض أنه بعد وفاة l شخصًا، لا يتبقى سوى2م{\displaystyle 2^{m}}الناس، ويذهب إلى2ل+1{\displaystyle 2l+1}الشخص الأول. يجب أن يكون هذا الشخص هو الناجي.و(ن)=2ل+1{\displaystyle f(n)=2l+1}فيما يلي، يتم تقديم برهان بالاستقراء .

النظرية: إذان=2م+ل{\displaystyle n=2^{m}+l}و0ل<2م{\displaystyle 0\leq l<2^{m}}، ثمو(ن)=2ل+1{\displaystyle f(n)=2l+1}.

البرهان: يُستخدم الاستقراء القوي على n . الحالة الأساسيةن=1{\displaystyle n=1}هذا صحيح. تُدرس الحالات بشكل منفصل عندما يكون n زوجيًا وعندما يكون n فرديًا.

إذا كان n زوجيًا، فاخترل1{\displaystyle l_{1}}وم1{\displaystyle m_{1}}بحيثن/2=2م1+ل1{\displaystyle n/2=2^{m_{1}}+l_{1}}و0ل1<2م1{\displaystyle 0\leq l_{1}<2^{m_{1}}}. لاحظ أنل1=ل/2{\displaystyle l_{1}=l/2}.و(ن)=2و(ن/2)-1=2[(2ل1)+1]-1=2ل+1{\displaystyle f(n)=2f(n/2)-1=2[(2l_{1})+1]-1=2l+1}يتم الحصول على حيث تتبع المساواة الثانية من فرضية الاستقراء.

إذا كان n فرديًا، فاخترل1{\displaystyle l_{1}}وم1{\displaystyle m_{1}}بحيث(ن-1)/2=2م1+ل1{\displaystyle (n-1)/2=2^{m_{1}}+l_{1}}و0ل1<2م1{\displaystyle 0\leq l_{1}<2^{m_{1}}}. لاحظ أنل1=(ل-1)/2{\displaystyle l_{1}=(l-1)/2}.و(ن)=2و[(ن-1)/2]+1=2[(2ل1)+1]+1=2ل+1{\displaystyle f(n)=2f[(n-1)/2]+1=2[(2l_{1})+1]+1=2l+1}حيث أن المساواة الثانية تتبع من فرضية الاستقراء. وهذا يكمل البرهان.

يمكن حل المعادلة l للحصول على تعبير صريح لـو(ن){\displaystyle f(n)}: و(ن)=2(ن-2سجل2(ن))+1.{\displaystyle f(n)=2(n-2^{\lfloor \log _{2}(n)\rfloor })+1.}

أكثر أشكال الإجابة أناقةً تتضمن التمثيل الثنائي بحجم n :و(ن){\displaystyle f(n)}يمكن الحصول على ذلك عن طريق إزاحة دورية لليسار بمقدار بت واحد للعدد n نفسه. إذا تم تمثيل n بالنظام الثنائي على النحو التالي:ن=1ب1ب2ب3...بم{\displaystyle n=1b_{1}b_{2}b_{3}\dots b_{m}}إذن، الحل يُعطى بواسطةو(ن)=ب1ب2ب3...بم1{\displaystyle f(n)=b_{1}b_{2}b_{3}\dots b_{m}1}ويستند برهان ذلك إلى تمثيل n على النحو التالي :2م+ل{\displaystyle 2^{m}+l}أو من التعبير أعلاه لـو(ن){\displaystyle f(n)}.

التنفيذ: إذا كان n يمثل عدد الأشخاص، فإن الموقع الآمن يُحدد بواسطة الدالةو(ن)=2ل+1{\displaystyle f(n)=2l+1}، أين ن=2م+ل{\displaystyle n=2^{m}+l}و0ل<2م{\displaystyle 0\leq l<2^{m}}.

أما إذا تم تمثيل الرقم بالصيغة الثنائية، فإن البت الأول يشير إلى2م{\displaystyle 2^{m}}وستشير البتات المتبقية إلى l . على سبيل المثال، عندما ن=41{\displaystyle n=41}، تمثيله الثنائي هو

ن = 1 0 1 0 0 1 2 م = 1 0 0 0 0 0 ل = 0 1 0 0 1
/** * @param n عدد الأشخاص الواقفين في الدائرة * @return الموضع الآمن الذي سينجو من التنفيذ * f(N) = 2L + 1 حيث N = 2^M + L و 0 <= L < 2^M */ public int getSafePosition ( int n ) { // إيجاد قيمة L للمعادلة int valueOfL = n - Integer . highestOneBit ( n ); return 2 * valueOfL + 1 ; }

بت

أسهل طريقة لإيجاد الوضع الآمن هي استخدام عوامل التشغيل الثنائية . في هذه الطريقة، يؤدي نقل البت الأكثر أهمية من n إلى البت الأقل أهمية إلى إيجاد الوضع الآمن. [ 11 ] يجب أن يكون المُدخل عددًا صحيحًا موجبًا .

ن = 1 0 1 0 0 1 f(n) = 0 1 0 0 1 1
/** * @param n (41) عدد الأشخاص الواقفين في الدائرة * @return الموضع الآمن الذي سينجو من التنفيذ */ public int getSafePosition ( int n ) { return ~ Integer . highestOneBit ( n * 2 ) & (( n << 1 ) | 1 ); // ---------------------- --- | ------------ // الحصول على أول بت مضبوط | | إزاحة n إلى اليسار وقلب البت الأخير // وأخذ مكمله | | // | | // ضرب n في 2 | // عملية AND المنطقية لنسخ البتات الموجودة في كلا المعاملين. }

k = 3

في عام 1997، اكتشف لورنز هالبايزن ونوربرت هونجربوهلر صيغة مغلقة للحالةك=3{\displaystyle k=3}لقد أظهروا أن هناك ثابتًا معينًا

α0.8111...{\displaystyle \alpha \approx 0.8111...}

يمكن حساب ذلك بدقة اختيارية. بمعلومية هذا الثابت، اختر m ليكون أكبر عدد صحيح بحيثدائري(α(3/2)م)ن{\displaystyle \operatorname {round} (\alpha \cdot (3/2)^{m})\leq n}(سيكون هذا إمام=دائري(سجل3/2ن/α){\displaystyle m^{\prime }=\operatorname {round} (\log _{3/2}n/\alpha )}أوم-1{\displaystyle m^{\prime }-1}ثم، يكون الناجي الأخير هو

و(ن)=3(ن-دائري(α(3/2)م))+(2{\displaystyle f(n)=3(n-\operatorname {round} (\alpha \cdot (3/2)^{m}))+(2}إذا تم تقريبها لأعلى وإلا1){\displaystyle 1)}

للجميعن5{\displaystyle n\geq 5}.

كمثال على الحساب، يقدم هالبايزن وهونغربوهلرن=41،ك=3{\displaystyle n=41,k=3}(وهي في الواقع الصيغة الأصلية لمسألة يوسيفوس). يقومون بحساب ما يلي:

مدائري(سجل3/241/0.8111)دائري(9.68)=10{\displaystyle m^{\prime }\approx \operatorname {round} (\log _{3/2}41/0.8111)\approx \operatorname {round} (9.68)=10}
دائري(α(3/2)م)دائري(0.8111(3/2)10)=47{\displaystyle \operatorname {round} (\alpha \cdot (3/2)^{m^{\prime }})\approx \operatorname {round} (0.8111\cdot (3/2)^{10})=47}وبالتاليم=9{\displaystyle m=9}
دائري(0.8111(3/2)9)دائري(31.18)=31{\displaystyle \operatorname {round} (0.8111\cdot (3/2)^{9})\approx \operatorname {round} (31.18)=31}(لاحظ أن هذا الرقم تم تقريبه إلى الأدنى)
و(ن)=3(41-31)+1=31{\displaystyle f(n)=3(41-31)+1=31}

يمكن التحقق من ذلك من خلال النظر إلى كل تمريرة متتالية على الأرقاممن 1 إلى41 :

1، 2، 4، 5، 7، 8، 10، 11، 13، 14، 16، 17، 19، 20، 22، 23، 25، 26، 28، 29، 31، 32، 34، 35، 37، 38، 40، 41
2، 4، 7، 8، 11، 13، 16، 17، 20، 22، 25، 26، 29، 31، 34، 35، 38، 40
2، 4، 8، 11، 16، 17، 22، 25، 29، 31، 35، 38
2، 4، 11، 16، 22، 25، 31، 35
2، 4، 16، 22، 31، 35
4، 16، 31، 35
16، 31
31

الحالة العامة

تُستخدم البرمجة الديناميكية لحل هذه المشكلة في الحالة العامة من خلال تنفيذ الخطوة الأولى ثم استخدام حل المشكلة المتبقية. عندما يبدأ الفهرس من واحد، فإن الشخص الموجود فيs{\displaystyle s}يتحول من الشخص الأول إلى الشخص الأول في الوضع((s-1)تعديلن)+1{\displaystyle ((s-1){\bmod {n}})+1}حيث n هو العدد الإجمالي للأشخاص.و(ن،ك){\displaystyle f(n,k)}يشير إلى موقع الناجي. بعدك{\displaystyle k}يُقتل الشخص رقم -، دائرة منن-1{\displaystyle n-1}يبقى، ويبدأ العد التالي بالشخص الذي كان رقمه في المسألة الأصلية(كتعديلن)+1{\displaystyle (ك{\bmod {n}})+1}سيكون موقع الناجي في الدائرة المتبقية هوو(ن-1،ك){\displaystyle f(n-1,k)}إذا بدأ العد عند1{\displaystyle 1}؛ تغيير هذا لمراعاة حقيقة أن نقطة البداية هي(كتعديلن)+1{\displaystyle (ك{\bmod {n}})+1}ينتج عنه التكرار [ 12 ]و(ن،ك)=([و(ن-1،ك)+ك-1]تعديلن)+1، مع و(1،ك)=1،{\displaystyle f(n,k)={\big (}[f(n-1,k)+k-1]{\bmod {n}}{\big )}+1,{\text{ with }}f(1,k)=1,} والتي تأخذ الشكل الأبسط ز(ن،ك)=[ز(ن-1،ك)+ك]تعديلن، مع ز(1،ك)=0{\displaystyle g(n,k)=[g(n-1,k)+k]{\bmod {n}},{\text{ with }}g(1,k)=0} إذا كانت المواضع مرقمة من0{\displaystyle 0}لن-1{\displaystyle n-1}بدلاً من.

يستغرق هذا النهج وقتًا تشغيليًايا(ن){\displaystyle O(n)}لكن بالنسبة للصغارك{\displaystyle k}وكبيرةن{\displaystyle n}هناك نهج آخر. يستخدم النهج الثاني أيضًا البرمجة الديناميكية ولكنه يستغرق وقتًا أطول للتنفيذ.يا(كسجلن){\displaystyle O(k\log n)}يعتمد ذلك على النظر في قتل الرتبة k ، ثم الرتبة 2k ، وهكذا.(ن/كك){\displaystyle (\lfloor n/k\rfloor k)}-th أشخاص كخطوة واحدة، ثم تغيير الترقيم.

يتخذ هذا النهج المحسن الشكل التالي: ز(ن،ك)={0لو ن=1،(ز(ن-1،ك)+ك)تعديلنلو 1<ن<ك،{ز(ن-نك،ك)-نتعديلك+نلو ز(ن-نك،ك)<نتعديلكك(ز(ن-نك،ك)-نتعديلك)ك-1لو ز(ن-نك،ك)نتعديلك}لو كن.{\displaystyle g(n,k)={\begin{cases}0&{\text{if }}n=1,\\(g(n-1,k)+k){\bmod {n}}&{\text{if }}1<n<k,\\{\begin{Bmatrix}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)-n{\bmod {k}}+n&{\text{if }}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)<n{\bmod {k}}\\\left\lfloor {\dfrac {k\left(g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)-n{\bmod {k}}\right)}{k-1}}\right\rfloor &{\text{if }}g\left(n-\left\lfloor {\frac {n}{k}}\right\rfloor ,k\right)\geq n{\bmod {k}}\end{Bmatrix}}&{\text{if }}k\leq n.\\\end{cases}}}

انظر أيضاً

مراجع

الاقتباسات

  1. ر. أوغالدي، لورانس. "مشكلة جوزيفوس في لغة برمجة فورمولاي" . فورمولاي . تم الاسترجاع في 26 يوليو 2021 .
  2. داودي ومايز 1989 ، ص 125.
  3. باشيه 1612 ، ص 174.
  4. Herstein & Kaplansky 1974 ، ص 121–126.
  5. زابيل 1976 ، ص 48، 51.
  6. 1 2 كوهين، ريتشارد. صنع التاريخ: رواة القصص الذين شكلوا الماضي ، ص 54 (سايمون وشوستر 2022).
  7. هايلبيرين، ماكس؛ كايزر، باربرا؛ نايت، كارل (1999). "3.5 تطبيق: مسألة جوزيفوس" (ملف PDF) . التجريدات الملموسة: مقدمة في علوم الحاسوب باستخدام لغة سكيم . شركة بروكس/كول للنشر. الصفحات 65-67 . 
  8. راوس بول 1905 ، ص 19.
  9. نيومان 1988 ، ص 2403-2405.
  10. روبنسون 1960 ، ص 47-52.
  11. "مسألة جوزيفوس باستخدام العمليات الثنائية (جافا)" . جيت هاب . 7 يناير 2018. تم الاطلاع عليه في 7 يناير 2018 .
  12. ^ بارك وتيكسيرا 2018 ، ص 1–7.

مصادر

للمزيد من القراءة