تبديل عكس البت

مجموعة هامرسلي التي إحداثياتها هي الأعداد الصحيحة من 0 إلى 255 وانعكاساتها الثنائية

في الرياضيات التطبيقية ، يُعرف تبديل عكس البتات بأنه تبديل لتسلسل منن{\displaystyle n}العناصر، حيثن=2ك{\displaystyle n=2^{k}}هو قوة للعدد اثنين . يتم تعريفه بفهرسة عناصر المتتالية بالأرقام من0{\displaystyle 0}لن-1{\displaystyle n-1}، وتمثيل كل من هذه الأرقام بتمثيلها الثنائي (مع إضافة حشو ليكون طولها بالضبطك{\displaystyle k}), وتعيين كل عنصر للعنصر الذي يحتوي تمثيله على نفس البتات بترتيب معكوس.

إن تكرار نفس التبديل مرتين يعيد الترتيب الأصلي للعناصر، لذا فإن تبديل عكس البتات هو عملية عكسية .

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

مثال

لنفترض تسلسل الأحرف الثمانية abcdefgh . مؤشرات هذه الأحرف هي الأعداد الثنائية 000، 001، 010، 011، 100، 101، 110، و111، والتي عند عكسها تصبح 000، 100، 010، 110، 001، 101، 011، و111. بالتالي، يُنقل الحرف a في الموضع 000 إلى نفس الموضع (000)، ويُنقل الحرف b في الموضع 001 إلى الموضع الخامس (المرقم 100)، وهكذا، مما يُعطي التسلسل الجديد aecgbfdh . بتكرار نفس التبديل على هذا التسلسل الجديد، نحصل على التسلسل الأصلي.

كتابة أرقام الفهرس بالنظام العشري (ولكن، كما سبق، بدءًا من الموضع 0 بدلاً من البداية التقليدية 1 للتبديل)، تبديلات عكس البتات علىن=2ك{\displaystyle n=2^{k}}بنود، لـك=0،1،2،3،...{\displaystyle k=0,1,2,3,\dots }، هي: [ 1 ]

ك{\displaystyle k}ن=2ك{\displaystyle n=2^{k}}التبديل
010
120 1
240 2 1 3
380 4 2 6 1 5 3 7
416٠ ٨ ٤ ١٢ ٢ ١٠ ٦ ١٤ ١ ٩ ٥ ١٣ ٣ ١١ ٧ ١٥

يمكن توليد كل تبديل في هذه المتتالية بدمج سلسلتين من الأرقام: التبديل السابق، مع مضاعفة قيمه، ونفس المتتالية مع زيادة كل قيمة بمقدار واحد. على سبيل المثال، مضاعفة التبديل ذي الطول 4، 0 2 1 3 ، يعطي 0 4 2 6 ، وإضافة واحد يعطي 1 5 3 7 ، ودمج هاتين السلسلتين يعطي التبديل ذي الطول 8، 0 4 2 6 1 5 3 7. [ 2 ]

التعميمات

التعميم إلى الجذرب{\displaystyle b}التمثيلات، من أجلب>2{\displaystyle b>2}و إلىن=بك{\displaystyle n=b^{k}}، هو تبديل عكسي للأرقام ، حيث الأساس-ب{\displaystyle b}يتم عكس أرقام فهرس كل عنصر للحصول على الفهرس المُبدَّل. ويمكن تعميم الفكرة نفسها على أنظمة الأعداد ذات الأساس المختلط . في هذه الحالات، يجب أن يعكس تبديل عكس الأرقام أرقام كل عنصر وأساس نظام الأعداد في آنٍ واحد، بحيث يبقى كل رقم معكوس ضمن النطاق المحدد بأساسه. [ 3 ]

يمكن استخدام التبديلات التي تعمم تبديل عكس البتات عن طريق عكس كتل البتات المتجاورة داخل التمثيلات الثنائية لمؤشراتها لدمج سلسلتين متساويتين في الطول من البيانات في مكانهما. [ 4 ]

يوجد امتدادان لتبديل عكس البتات ليشمل متواليات ذات أطوال عشوائية. يتطابق هذان الامتدادان مع عكس البتات للمتواليات التي يكون طولها قوة للعدد 2، وهدفهما فصل العناصر المتجاورة في المتوالية لتحسين كفاءة خوارزمية كاتشمارز . الامتداد الأول، المسمى الترتيب الفعال ، [ 5 ] يعمل على الأعداد المركبة، ويعتمد على تحليل العدد إلى مكوناته الأولية.

الامتداد الثاني، المسمى EBR (انعكاس البت الموسع)، مشابه في جوهره لانعكاس البت. بالنظر إلى مصفوفة بحجمن{\displaystyle n}، يقوم EBR بملء المصفوفة بتبديل الأرقام الموجودة في النطاق0...ن-1{\displaystyle 0\ldots n-1}في زمن خطي. يتم فصل الأرقام المتتالية في التبديل بما لا يقل عنن/4{\displaystyle \lfloor n/4\rfloor }[ 6 ]

التطبيقات

يُعدّ عكس البتات بالغ الأهمية في خوارزميات تحويل فورييه السريع (FFT) من نوع كولي-توكي ذات الأساس 2 ، حيث تتضمن المراحل التكرارية للخوارزمية، التي تعمل في مكانها ، عكس بتات المدخلات أو المخرجات. وبالمثل، يحدث عكس الأرقام في خوارزميات تحويل فورييه السريع (FFT) من نوع كولي-توكي ذات الأساس المختلط. [ 7 ]

كما تم استخدام تبديل عكس البتات لوضع حدود دنيا في الحوسبة الموزعة. [ 8 ]

تتكون متتالية فان دير كوربوت ، وهي متتالية منخفضة التباين من الأرقام في الفترة 1 ، من خلال إعادة تفسير مؤشرات تبديل عكس البتات كتمثيلات ثنائية ثابتة النقطة للأعداد النسبية الثنائية .

تُستخدم تباديل عكس البتات غالبًا في إيجاد الحدود الدنيا لهياكل البيانات الديناميكية . على سبيل المثال، مع مراعاة افتراضات معينة، فإن تكلفة البحث عن الأعداد الصحيحة بين0{\displaystyle 0}ون-1{\displaystyle n-1}، بما في ذلك، في أي شجرة بحث ثنائية تحتوي على تلك القيم، هوΩ(نسجلن){\displaystyle \Omega (n\log n)}عند الاستعلام عن تلك الأرقام بترتيب معكوس بتيًا. ينطبق هذا الحد حتى على الأشجار مثل الأشجار المتفرعة التي يُسمح لها بإعادة ترتيب عقدها بين عمليات الوصول. [ 9 ]

الخوارزميات

وبسبب أهمية خوارزميات تحويل فورييه السريع ، تم ابتكار العديد من الخوارزميات الفعالة لتطبيق تبديل عكس البتات على سلسلة. [ 2 ]

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

ثمة اعتبار آخر أكثر أهمية لأداء هذه الخوارزميات، وهو تأثير التسلسل الهرمي للذاكرة على زمن التشغيل. وبسبب هذا التأثير، قد تكون الخوارزميات الأكثر تطورًا التي تأخذ في الحسبان بنية كتل الذاكرة أسرع من هذا المسح البسيط. [ 2 ] [ 10 ] ويُعدّ استخدام أجهزة حاسوب خاصة بديلاً لهذه التقنيات ، إذ يسمح بالوصول إلى الذاكرة بالترتيب العادي وبالترتيب المعكوس للبتات. [ 12 ]

حظي تحسين أداء عمليات عكس البتات باهتمام كبير في مجال الحوسبة عالية الأداء. ويُعدّ تطوير خوارزميات تراعي بنية النظام أمرًا بالغ الأهمية لتمكين الاستخدام الأمثل لموارد الأجهزة وبرامج النظام، مثل الذاكرة المؤقتة (الكاش) وذاكرة الترجمة السريعة (TLB) والمعالجات متعددة النوى. [ 13 ]

مراجع

  1. سلون، ن.  ج.  أ. (محرر)، "المتتالية A030109" ، الموسوعة الإلكترونية لمتتاليات الأعداد الصحيحة ، مؤسسة OEIS
  2. 1 2 3 4 كارب، آلان هـ. (1996)، "عكس البتات على المعالجات الأحادية"، مجلة SIAM Review ، 38 (1): 1-26 ، CiteSeerX 10.1.1.24.2913 ، doi : 10.1137/1038001 ، MR 1379039  . قام كارب بمسح ومقارنة 30 خوارزمية مختلفة لعكس البتات، تم تطويرها بين عامي 1965 ونشر مسحه في عام 1996.
  3. إلستر، آن سي. (1989)، "خوارزميات عكس البتات السريعة"، المؤتمر الدولي لهندسة الصوت والكلام ومعالجة الإشارات، ICASSP '89، غلاسكو، اسكتلندا، 23-26 مايو 1989، الصفحات 1099-1102 ، doi : 10.1109/ICASSP.1989.266624 ، S2CID 15028026  
  4. يانغ، تشينغشوان؛ إليس، جون؛ ماماكاني، خالق؛ روسكي، فرانك (2013)، "التبديل الموضعي والخلط المثالي باستخدام الانعكاسات"، رسائل معالجة المعلومات ، 113 ( 10-11 ): 386-391 ، arXiv : 1204.1958 ، doi : 10.1016/j.ipl.2013.02.017 ، MR 3037467 ، S2CID 14672841  .
  5. هيرمان، غابور ت. (2009)، أساسيات التصوير المقطعي المحوسب ( الطبعة الثانية)، لندن: سبرينغر، ص 209 ، ISBN   978-1-85233-617-2
  6. غوردون، دان (يونيو 2017)، "نهج إزالة العشوائية لاستعادة الإشارات محدودة النطاق عبر نطاق واسع من معدلات أخذ العينات العشوائية"، الخوارزميات العددية ، 77 (4): 1141-1157 ، doi : 10.1007/s11075-017-0356-3 ، S2CID 254889989 
  7. ب. جولد وسي إم رادر، المعالجة الرقمية للإشارات (نيويورك: ماكجرو هيل، 1969).
  8. فريدريكسون، جريج ن.؛ لينش، نانسي أ. (1984)، "تأثير الاتصال المتزامن على مشكلة انتخاب قائد في حلقة" (ملف PDF) ، وقائع الندوة السنوية السادسة عشرة لجمعية ACM حول نظرية الحوسبة (STOC '84) ، الصفحات 493-503 ، doi : 10.1145/800057.808719 ، ISBN  978-0897911337.
  9. ويلبر، روبرت (1989)، "الحدود الدنيا للوصول إلى أشجار البحث الثنائية مع التدوير" ، الندوة السنوية السابعة والعشرون حول أسس علوم الحاسوب (SFCS 1986) ، الصفحات 61-70 ، doi : 10.1109/SFCS.1986.28 ، ISBN  0-8186-0740-8.
  10. 1 2 كارتر، لاري؛ جاتلين، كانغ سو (1998)، "نحو برنامج تبديل عكس البت الأمثل"، وقائع الندوة السنوية التاسعة والثلاثين حول أسس علوم الحاسوب (FOCS) ، الصفحات 544-553 ، CiteSeerX 10.1.1.46.9319 ، doi : 10.1109/SFCS.1998.743505 ، ISBN   978-0-8186-9172-0، S2CID 14307262 .
  11. جيونغ، جيتشانغ؛ ويليامز، دبليو جيه (1990)، "خوارزمية عكس البتات المتكررة السريعة"، المؤتمر الدولي للصوتيات والكلام ومعالجة الإشارات (ICASSP-90) ، المجلد 3، الصفحات 1511-1514 ، doi : 10.1109/ICASSP.1990.115695 ، S2CID 122373780   .
  12. هارلي، تي آر؛ ماهيشوارامورثي، جي بي (2004)، "مولدات العناوين لمصفوفات التعيين بترتيب معكوس البتات"، معاملات IEEE في معالجة الإشارات ، 52 (6): 1693-1703 ، Bibcode : 2004ITSP...52.1693H ، doi : 10.1109/TSP.2004.827148 ، S2CID 10043478 .
  13. تشانغ، تشاو؛ تشانغ، شياودونغ (2000)، "انعكاسات البت السريعة على المعالجات الأحادية والمعالجات المتعددة ذات الذاكرة المشتركة"، مجلة SIAM للحوسبة العلمية ، 22 (6): 2113-2134 ، doi : 10.1137/S1064827599359709 ، MR 1856305