الترميز الأحادي
الترميز الأحادي ، أو نظام الأعداد الأحادي ، هو ترميز إنتروبي يُمثل عددًا طبيعيًا ، n ، إما بـ n من الآحاد متبوعة بصفر (إذا فُهم مصطلح العدد الطبيعي على أنه عدد صحيح غير سالب ) أو بـ n - 1 من الآحاد متبوعة بصفر (إذا فُهم مصطلح العدد الطبيعي على أنه عدد صحيح موجب تمامًا ). وبالتالي، يكون طول رمز العدد الأحادي n + 1 وفقًا للتعريف الأول، أو n وفقًا للتعريف الثاني. يتصرف الترميز الأحادي، عند تمثيله عموديًا، مثل الزئبق في الترمومتر، حيث يزداد طوله أو ينقص كلما كبر أو صغر n ، ولذلك يُسمى أحيانًا رمز الترمومتر . [ 1 ] يستخدم تمثيل بديل n أو n - 1 من الأصفار متبوعة بواحد، مما يُبدل الآحاد والأصفار فعليًا، دون فقدان للعمومية . على سبيل المثال، أول عشرة رموز أحادية هي:
| رمز أحادي | بديل | ن (غير سالب) | ن (موجب تمامًا) |
|---|---|---|---|
| 0 | 1 | 0 | 1 |
| 10 | 01 | 1 | 2 |
| 110 | 001 | 2 | 3 |
| 1110 | ٠٠٠١ | 3 | 4 |
| 11110 | 00001 | 4 | 5 |
| 111110 | 000001 | 5 | 6 |
| 1111110 | 0000001 | 6 | 7 |
| 11111110 | 00000001 | 7 | 8 |
| 111111110 | 000000001 | 8 | 9 |
| 1111111110 | 0000000001 | 9 | 10 |
يُعد الترميز الأحادي ترميزًا فعالًا على النحو الأمثل لتوزيع الاحتمالات المنفصلة التالي
ل.
في الترميز رمزًا برمز، يكون هذا هو الأمثل لأي توزيع هندسي
حيث k ≥ φ = 1.61803398879...، النسبة الذهبية ، أو بشكل أعم، لأي توزيع منفصل حيث
لعلى الرغم من أن ترميز غولومب هو الأمثل لترميز الرموز بشكل فردي لمثل هذه التوزيعات الاحتمالية، إلا أنه يحقق قدرة ضغط أفضل للتوزيع الهندسي لأنه لا يتعامل مع رموز الإدخال بشكل مستقل، بل يجمعها ضمنيًا. وللسبب نفسه، يكون أداء الترميز الحسابي أفضل مع التوزيعات الاحتمالية العامة، كما في الحالة الأخيرة المذكورة أعلاه.
يُعد الترميز الأحادي ترميزًا خاليًا من البادئات وترميزًا ذاتي التزامن .
الشفرة الأحادية المستخدمة اليوم
تتضمن أمثلة استخدامات الترميز الأحادي ما يلي:
- في شفرة غولومب رايس ، يتم استخدام التشفير الأحادي لترميز الجزء الناتج من كلمة شفرة غولومب.
- في UTF-8 ، يتم استخدام الترميز الأحادي في البايت الأول من تسلسل متعدد البايتات للإشارة إلى عدد البايتات في التسلسل بحيث يمكن تحديد طول التسلسل دون فحص بايتات الاستمرار.
- تستخدم الشبكات العصبية المدربة فورياً الترميز الأحادي لتمثيل البيانات بكفاءة.
الترميز الأحادي في الشبكات البيولوجية
يُستخدم الترميز الأحادي في الدوائر العصبية المسؤولة عن إنتاج تغريد الطيور . [ 2 ] [ 3 ] النواة في دماغ الطيور المغردة التي تلعب دورًا في كلٍ من تعلم وإنتاج تغريد الطيور هي مركز الصوت العالي (HVC ). تنبعث إشارات التحكم الخاصة بالنغمات المختلفة في تغريد الطيور من نقاط مختلفة في مركز الصوت العالي. يعمل هذا الترميز كترميز مكاني، وهو استراتيجية فعالة للدوائر البيولوجية نظرًا لبساطته ومتانته.
رموز أحادية قياسية بطول التشغيل
تُعرَّف جميع البيانات الثنائية بقدرتها على تمثيل الأعداد الأحادية في سلاسل متناوبة من الآحاد والأصفار. وهذا يتوافق مع التعريف القياسي للأعداد الأحادية، أي N خانة من نفس العدد 1 أو 0. جميع السلاسل، بحكم تعريفها، تحتوي على خانة واحدة على الأقل، وبالتالي تمثل أعدادًا صحيحة موجبة تمامًا .
| ن | رمز RL | الكود التالي |
|---|---|---|
| 1 | 1 | 0 |
| 2 | 11 | ٠٠ |
| 3 | 111 | ٠٠٠ |
| 4 | 1111 | 0000 |
| 5 | 11111 | 00000 |
| 6 | 111111 | 000000 |
| 7 | 1111111 | 0000000 |
| 8 | 11111111 | 00000000 |
| 9 | 111111111 | 000000000 |
| 10 | 1111111111 | 0000000000 |
| ... | ||
تضمن هذه الرموز أن تنتهي بشكل صحيح على أي طول من البيانات (عند قراءة بيانات عشوائية) وفي دورة الكتابة (المنفصلة) تسمح باستخدام ونقل بت إضافي (البت المستخدم للبت الأول) مع الحفاظ على أطوال الرموز الأحادية الإجمالية ولكل عدد صحيح N بالضبط.
رموز أحادية غير بادئة قابلة للفك بشكل فريد
فيما يلي مثال على رموز أحادية قابلة للفك بشكل فريد، وهي ليست رمزًا بادئًا وليست قابلة للفك الفوري ( تحتاج إلى نظرة مسبقة لفك التشفير ).
| ن | رمز أحادي | بديل |
|---|---|---|
| 1 | 1 | 0 |
| 2 | 10 | 01 |
| 3 | 100 | 011 |
| 4 | 1000 | 0111 |
| 5 | 10000 | 01111 |
| 6 | 100000 | ٠١١١١١ |
| 7 | 1000000 | 0111111 |
| 8 | 10000000 | 01111111 |
| 9 | 100000000 | 011111111 |
| 10 | 1000000000 | 0111111111 |
| ... | ||
تسمح هذه الرموز أيضًا (عند كتابة الأعداد الصحيحة غير الموقعة) باستخدام ونقل بت إضافي (البت المستخدم للبت الأول). وبالتالي، فهي قادرة على نقل 'm' عددًا صحيحًا * N بتًا أحاديًا وبتًا إضافيًا واحدًا من المعلومات ضمن m*N بتًا من البيانات.
الرموز الأحادية المتناظرة
يمكن قراءة وفك تشفير الرموز الأحادية المتناظرة التالية على الفور في أي من الاتجاهين:
| رمز أحادي | بديل | ن (غير سالب) | ن (موجب تمامًا) |
|---|---|---|---|
| 1 | 0 | 0 | 1 |
| ٠٠ | 11 | 1 | 2 |
| 010 | 101 | 2 | 3 |
| 0110 | 1001 | 3 | 4 |
| 01110 | 10001 | 4 | 5 |
| 011110 | 100001 | 5 | 6 |
| 0111110 | 1000001 | 6 | 7 |
| 01111110 | 10000001 | 7 | 8 |
| 011111110 | 100000001 | 8 | 9 |
| 0111111110 | 1000000001 | 9 | 10 |
| ... | |||
تتميز هذه الرموز بخاصية فريدة، وهي أنه عند مسح البيانات (1 و0) لأي توزيع احتمالي بحثًا عن رموز أحادية متناظرة، يكون متوسط طول الرمز الأحادي المتناظر الممسوح ضوئيًا دائمًا حوالي 2. وهذا يساعد في معالجة مخاوف التوقيت، حيث يتعين على كل بروتوكول تقريبًا وضع ضوابط وتوازنات لتدفقات البيانات المستمرة ذات الإنتروبيا المنخفضة والتي قد تتلف مكونات مثل ملحقات USB وما إلى ذلك.
الرموز الأحادية المتعارف عليها
بالنسبة للقيم الأحادية التي يكون طولها الأقصى معروفًا، يمكن استخدام رموز أحادية قياسية ذات طبيعة عددية نوعًا ما وتختلف عن الرموز القائمة على الأحرف. أكبر طول n معروف ، والقيمة العددية 0 (في الدالة التقابلية) أو -1 (في الدالة التقابلية ) يتم تعيينها كشرط حدودي يعادل تكرار رقم ما بحد أقصى 'ن' مرة، ثم لكل خطوة يتم تقليل عدد الأرقام بمقدار واحد وزيادة/إنقاص النتيجة بالقيمة العددية '1'.
| ن | رمز أحادي | تقابل | التقابل القياسي | بديل | تقابل | التقابل القياسي | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 2 | 1 | 1 | 0 | 1 | 1 | 2 | 2 |
| 2 | 01 | 12 | 4 | 11 | 3 | 10 | 21 | 5 | 22 | 6 |
| 3 | 001 | 112 | 8 | 111 | 7 | 110 | 221 | 13 | 222 | 14 |
| 4 | ٠٠٠١ | 1112 | 16 | 1111 | 15 | 1110 | 2221 | 29 | 2222 | 30 |
| 5 | 00001 | 11112 | 32 | 11111 | 31 | 11110 | 22221 | 61 | 22222 | 62 |
| 6 | 000001 | 111112 | 64 | 111111 | 63 | 111110 | 222221 | 125 | 222222 | 126 |
| 7 | 0000001 | 1111112 | 128 | 1111111 | 127 | 1111110 | 2222221 | 253 | 2222222 | 254 |
| 8 | 00000001 | 11111112 | 256 | 11111111 | 255 | 11111110 | 22222221 | 509 | 22222222 | 510 |
| 9 | 000000001 | 111111112 | 512 | 111111111 | 511 | 111111110 | 222222221 | 1021 | 222222222 | 1022 |
| 10 | 000000000 0 | 111111111 1 | 1023 | 1111111111 | 1023 | 111111111 1 | 222222222 2 | 2046 | 2222222222 | 2046 |
تتطلب الشفرات المعيارية (المختلفة عن شفرة هوفمان المعيارية حيث يُناقش دليل الشفرات فقط) وقتًا أقل للمعالجة لفك التشفير. يُستخدم مصطلح "معياري" للإشارة إلى استخدام أي طريقة، وخاصةً الطرق العددية، أي عندما تُعالج الشفرات كأرقام وليست كسلاسل نصية. إذا كان عدد الشفرات المطلوبة لكل طول رمز مختلفًا عن 1، أي إذا كان هناك عدد أكبر من الشفرات غير الأحادية المطلوبة بطول معين، فسيتم تحقيق ذلك عن طريق زيادة/إنقاص القيم عدديًا دون تقليل الطول. للحصول على مجموعة من الشفرات بطول معين، يجب البدء بشرط الحد، عادةً 0...0 لأكبر شفرة وآخرها، ثم العمل تصاعديًا، بزيادة القيمة عدديًا حتى استنفاد عدد الشفرات ذات الطول المحدد، ثم اقتطاع عدد من البتات من اليمين وزيادة العدد المتبقي بمقدار 1 للحصول على أول رقم من النطاق التالي (مجموعة الأرقام التي تنتمي إلى طول معين)، وهكذا من أكبر طول إلى أصغر طول.
يمكن البدء من أقصر طول (مع إعطائه قيمة عددية لأكبر شرط حدي، مثل 1 في النظام الثنائي أو 2 في النظام التقابلي)، والعمل تنازليًا مع تقليل القيمة العددية بمقدار 1 لكل رمز جديد بنفس الطول، أو (تقليل القيمة العددية بمقدار 1 وزيادة الطول) (إضافة 2 أو 22، إلخ، أو تحديد الحد الأدنى للنطاق الجديد إلى 2*n+1 (ثنائي) أو 2*n + 2 (تقابلي) أو 4*n + 3 (ثنائي مع زيادة 2 بت للمجموعة التالية) أو 4*n + 6 (تقابلي مع زيادة 2 بت للمجموعة التالية)، إلخ. يتيح لك هذا إنشاء رموز دون معرفة التردد مسبقًا. يمكنك اختيار زيادة المجموعة التالية بمقدار 2 بت بدلًا من 1 لاستيعاب 3 رموز جديدة و1 لاحتمالية وجود رموز جديدة، أو رمزين جديدين و2 للرموز غير المعروفة لاحتواء أطوال الرموز، لأنه إذا وصلت إلى أدنى شرط حدي من الناحية العددية، لا يمكنك إضافة المزيد من الرموز.
يمكن استخدام كلتا الطريقتين لإنشاء رموز قياسية (رقمية) بنفس طول أي مجموعة رموز هوفمان (محدودة الطول وحجم الرمز)، ويمكن استخدام طريقة التدرج من الأصغر إلى الأكبر مع أي مجموعة رموز هوفمان أو غيرها، محدودة الطول أو عشوائية الطول. وتكمن الميزة في أن المحلل يصبح رقميًا بدلًا من كونه قائمًا على الأحرف. راجع الورقة البحثية لمقارنة عدد عمليات الوصول إلى الذاكرة.
رموز غولدباخ الثنائية
رموز غولدباخ الثنائية (أو ما يشبه رموز غولدباخ G0 ) هي رموز أحادية متصلة ببعضها، ويمكنها تمثيل الكسور غير التافهة (التي لا تساوي صفرًا أو واحدًا). يمثل طول الرمز الأحادي الأول 'n' البسط، بينما يمثل الطول الإجمالي للرمزين الأحاديين ('n' + 'm') المقام. وبالتالي، فإن إجمالي عدد البتات اللازمة لتمثيل الكسر كاملًا هو الأساس نفسه 'n' + 'm'، وإجمالي عدد البتات اللازمة لتمثيل أي مقام هو 1.
| شفرة | قيمة |
|---|---|
| 11 | نصف |
| 101 | 1/3 |
| 011 | 2/3 |
| 1001 | 1/4 |
| 0101 | 2/4 |
| 0011 | 3/4 |
| 10001 | 1/5 |
| 01001 | 2/5 |
| 00101 | 3/5 |
| ٠٠٠١١ | 4/5 |
| ... | |
عادةً ما يُحذف الأساس لكل رقم على حدة عند تمثيل الأعداد، لافتراض أن جميع الأرقام تنتمي إلى أساس معين. مع ذلك، يمكن تمثيل جميع الأعداد بصيغة أساس متغير، حيث يكون لكل رقم أساس مختلف. وقد استُخدمت هذه الصيغة سابقًا للأعداد متعددة اللغات أو لحل ألغاز سودوكو، حيث كان تغيير الأساس من رقم لآخر هو الحل الوحيد. هذا الأمر مفهوم بديهيًا للأعداد العشرية بين 0 و1، والتي هي عبارة عن مجموع كسور، ولكنه غير شائع الاستخدام أو معروف للأعداد الصحيحة الأكبر من 0. لذا، يصبح تمثيل المقام أو الأساس (عادةً ما يكون رمزًا سفليًا يُكتب بجانب العدد) مسألة كتابة الأساس كرمز سفلي لكل رقم أو استخدام رموز غولدباخ الثنائية.
N (عدد صحيح >= 0) = A x + B y + C z ; ( A,B,C >= 0 و < x,y,z ) أو ( A,B,C > 0 و <= x,y,z للترميز التقابلي)
M (عدد عشري < 1 و > 0) = A/x + B/y + C/z ؛ (A، B، C > 0 و < x، y، z و x < y < z للكسور غير التافهة)
حيث يقلل كل رقم في الأساس n مساحة البحث إلى 1/n والباقي هو مسألة طرح الكسر الدقيق ومواصلة العملية.
لاحظ أنه في صيغة M (العدد العشري العائم) من هذه الطريقة، تكون جميع الأرقام كسورًا مجموعها يساوي M، لذا فإن ضرب عددين عشريين مخزنين في هذا التمثيل هو مسألة إجراء DIGIT_COUNT1 x DIGIT_COUNT2 عمليات ضرب صغيرة بالتوازي بأي ترتيب وجمع القيم. أو يمكن اختيار تخزين
البسط1 * البسط2 / المقام2 * المقام2
تنسيق البيانات وعدم إجراء العملية إلا عند الحاجة إلى القيمة. أو حساب العمليات الممكنة مسبقًا وعدم إجراء أي عمليات على الإطلاق إذا كان الحد الأقصى لعدد الأرقام/الدقة محدودًا إلى حوالي 64 بت.
يُتيح هذا استخدام العمليات الحسابية الصحيحة للأعداد العشرية ذات الفاصلة العائمة، بما في ذلك الأعداد العشرية ذات الدقة العشوائية. علاوة على ذلك، ونظرًا لأن استخدام مقامات عشوائية لتمثيل الجزء العشري من العدد العشري عملية معقدة (وتمثيلها باستخدام n بت سيكون مرهقًا)، فإن هذه الطريقة تُناسب المقامات الصغيرة، حيث يُمكن ببساطة استخدام متواليات من المقامات المتزايدة، بدءًا من:
O (أعداد عشرية ذات عدد عشري أقل من 1 وأكبر من 0) = A/x، B/x، C/y، D/z، E/z ؛ (A، B، C، D، E > 0 و < x، y، z و x < y < z للكسور غير التافهة)
الحصول على بعض مساحة التخزين ولكن مع استهلاك الطاقة وفقدان بعض التوازي.
باستخدام مقام 2، استمر في كتابة كود غولدباخ حتى تصل إلى الصفر، ثم زد المقام بمقدار واحد (3 في هذه الحالة)، وابحث عن البسط، واكتب كود غولدباخ الثنائي، وكرر العملية مع مقام 3 حتى تصل إلى الصفر، ثم زد المقام إلى 4 وهكذا. بما أن الصفر كسر بسيط، فلا حاجة لكتابة أي كود خاص به، مع العلم أن المقام التالي سيكون إما مساويًا له أو أكبر منه بمقدار واحد، مما يعني أنه تم العثور على الصفر سابقًا وزيادة المقام. تكمن ميزة هذه الطريقة في إمكانية تمثيل الصور ثنائية البؤرة، حيث يمكن تمثيل تشوهات الصورة عالية الدقة، مثل تلك الناتجة عن بيانات صور الكواكب أو السماء، باستخدام كسور مستمرة تزداد دقتها مع كل رقم، بينما يمكن تمثيل المقدمة بدقة مختلفة. علاوة على ذلك، فإن الزيادة في المقام عند كل صفر تؤدي إلى بديهية حيث لا يمكن أن يكون الرقم التالي إلا 1 (1/2 يناسب 1/3 فقط وليس 2/3، و1/3 يناسب 1/4 فقط وليس 2/4، 3/4، إلخ)، لذلك يُسمح حتى بضرب الباقي في الأساس قبل زيادة المقام لزيادة الدقة وتكبير الصورة في منطق يشبه الفراكتال.
يمكنك استخدام أطوال تشغيل لرموز أساسية متزايدة أو يمكنك وضع قاعدة بسيطة مفادها أن كل رقم سيؤدي إلى زيادة الأساس/المقام:
P (عدد عشري > 0) = A/x + B/y + C/z ؛ (A، B، C > 0 و < x، y، z و x < y < z للكسور غير التافهة)
ببساطة، احذف الصفر وزد الأساس في كل خطوة بدءًا من 2. يعني تقليل الأساس الظاهر أنه رقم جديد ولا حاجة لفاصل. هذا يزيد حجم البتات قليلاً، لكنها ذات إنتروبيا منخفضة، أو يمكن كتابة عدد الأرقام أولاً ثم تبديلها بعدة طرق لتخزين DIGIT_COUNT! من البيانات بتكلفة زهيدة (تكلفة عدد قليل من الأرقام).
كما هو واضح، لا يمكن أن يكون أي كسر غير تافه أكبر من 1، لذلك إذا كان هناك احتمال أن يتسبب الجزء الصحيح من P ( I ) في عدد كبير من الكسور، فقد يكون من الأسهل البدء بـ (2*I-1)/(2*I) والعمل للخلف (حتى البدء والعد يجب أن يكون كافيًا) حتى تصل القيمة المتبقية إلى < 0 ثم تغيير الاتجاه (بدءًا من 1/2 لأعلى).
الترميز الأحادي المعمم
قدّم سوبهاش كاك نسخةً معممةً من الترميز الأحادي لتمثيل الأعداد بكفاءةٍ أعلى بكثير من الترميز الأحادي القياسي. [ 4 ] إليك مثالٌ على الترميز الأحادي المعمم للأعداد الصحيحة من 0 إلى 15، والذي يتطلب 7 بتات فقط (حيث يتم اختيار ثلاثة بتات عشوائيًا بدلًا من بت واحد في الترميز الأحادي القياسي لعرض العدد). لاحظ أن التمثيل دوري، حيث تُستخدم علامات لتمثيل الأعداد الصحيحة الأعلى في الدورات الأعلى.
| ن | رمز أحادي | أحادي معمّم |
|---|---|---|
| 0 | 0 | 0000000 |
| 1 | 10 | 0000111 |
| 2 | 110 | ٠٠٠١١١٠ |
| 3 | 1110 | ٠٠١١١٠٠ |
| 4 | 11110 | 0111000 |
| 5 | 111110 | 1110000 |
| 6 | 1111110 | 0010111 |
| 7 | 11111110 | 0101110 |
| 8 | 111111110 | 1011100 |
| 9 | 1111111110 | 0111001 |
| 10 | 11111111110 | 1110010 |
| 11 | 111111111110 | 0100111 |
| 12 | 1111111111110 | 1001110 |
| 13 | 11111111111110 | 0011101 |
| 14 | 111111111111110 | 0111010 |
| 15 | 1111111111111110 | 1110100 |
يتطلب الترميز الأحادي المعمم تحديد نطاق الأرقام المراد تمثيلها مسبقًا لأن هذا النطاق يحدد عدد البتات المطلوبة.
انظر أيضاً
ملحوظات
- ↑ يُقابل مصطلح "الترميز الأحادي" في الأدبيات العلمية الألمانية مصطلح " BCD-Zählcode "، والذي يُترجم إلى " رمز العد العشري المُرمّز ثنائيًا ". يجب عدم الخلط بين هذا المصطلح والمصطلح الألماني المشابه " BCD-Code " الذي يُترجم إلى "رمز BCD " في اللغة الإنجليزية.
مراجع
- ↑ "قاموس جامعة ألبرتا لعلوم الإدراك: شفرة الترمومتر" . www.bcp.psych.ualberta.ca . تاريخ الاسترجاع: 31-05-2025 .
- ↑ فييت، آي آر؛ سيونغ، إتش إس (2007). "نماذج الشبكات العصبية لإنتاج تغريد الطيور وتعلمه وتشفيره". في: سكواير، إل؛ أولبرايت، تي؛ بلوم، إف؛ غيج، إف؛ سبيتزر، إن (محررون). الموسوعة الجديدة لعلم الأعصاب . إلسيفير .
- ↑ مور، جيه إم؛ وآخرون (2011). "تقارب المسارات الحركية يتنبأ بحجم ذخيرة المقاطع الصوتية لدى الطيور المغردة" . وقائع الأكاديمية الوطنية للعلوم في الولايات المتحدة الأمريكية . 108 ( 39): 16440-16445 . Bibcode : 2011PNAS..10816440M . doi : 10.1073/pnas.1102077108 . PMC 3182746. PMID 21918109 .
- ↑ كاك، س. (2015). "الترميز الأحادي المعمم". الدوائر والأنظمة ومعالجة الإشارات . 35 (4): 1419-1426 . doi : 10.1007/s00034-015-0120-7 . S2CID 27902257 .
- نظرية الترميز
- ترميز الإنتروبيا
- ضغط البيانات
