В информатике есть слово для того, чтобы все представления данных были равны? - PullRequest
1 голос
/ 24 января 2020

Для языков программирования у нас есть концепция полноты по Тьюрингу, которая выражает тот факт, что все компьютеры и все языки одинаковы в своей способности представлять любой алгоритм, если мы игнорируем емкость носителя. Есть ли подобное слово для кодирования / представления данных?

Например, любое число может быть представлено в унарной, двоичной, троичной форме. Пока все структуры данных имеют одинаковую «емкость данных» между любыми заданными 2 структурами A и B, существуют функции:

to :: A → B
from :: B → A

Где from ∘ to == id.

Это, очевидно, верно для любой (нечувствительной к контексту) структуры данных, которая существует в компьютере, потому что они буквально все - просто биты. Но что это за слово?

1 Ответ

1 голос
/ 24 января 2020

Технически, я думаю, вы имеете в виду обращение к эквивалентности по Тьюрингу, а не к полноте по Тьюрингу, которая является чем-то похожим, но не идентичным. Что касается вашего вопроса: я не думаю, что есть общий термин для этого, за исключением того, чтобы сказать, что две кодировки эквивалентны . Если у вас есть определенная кодировка, которую вы хотели бы использовать в качестве стандарта, например, десятичная для кодирования чисел, вы бы поняли, если бы сказали, что двоичная система является десятичной эквивалентной системой для кодирования чисел.

Конечно, если вы имеете в виду, что две системы эквивалентны не только семантически (они могут кодировать одни и те же вещи), но и синтаксически (их кодировки работают по существу одинаково), вы можете использовать такие термины, как isomorphi c (то есть каждая строка в одной кодировке отображается на одну строку в другой кодировке и наоборот).

...