{ localUrl: '../page/encoding_dependent_messages.html', arbitalUrl: 'https://arbital.com/p/encoding_dependent_messages', rawJsonUrl: '../raw/3x6.json', likeableId: '2577', likeableType: 'page', myLikeValue: '0', likeCount: '2', dislikeCount: '0', likeScore: '2', individualLikes: [ 'EricBruylant', 'EricRogstad' ], pageId: 'encoding_dependent_messages', edit: '4', editSummary: '', prevEdit: '3', currentEdit: '4', wasPublished: 'true', type: 'wiki', title: 'Dependent messages can be encoded cheaply', clickbait: '', textLength: '2311', alias: 'encoding_dependent_messages', externalUrl: '', sortChildrenBy: 'likes', hasVote: 'false', voteType: '', votesAnonymous: 'false', editCreatorId: 'NateSoares', editCreatedAt: '2016-05-29 18:56:20', pageCreatorId: 'NateSoares', pageCreatedAt: '2016-05-29 17:07:12', seeDomainId: '0', editDomainId: 'AlexeiAndreev', submitToDomainId: '0', isAutosave: 'false', isSnapshot: 'false', isLiveEdit: 'true', isMinorEdit: 'false', indirectTeacher: 'false', todoCount: '1', isEditorComment: 'false', isApprovedComment: 'true', isResolved: 'false', snapshotText: '', anchorContext: '', anchorText: '', anchorOffset: '0', mergedInto: '', isDeleted: 'false', viewCount: '45', text: 'Say you want to transmit a [3v9 2-message], a 4-message, and a 256-message to somebody. For example, you might want to tell them which way a coin came up, a cardinal direction, and a letter (encoded as one byte of [https://en.wikipedia.org/wiki/ASCII ASCII] text). How many [3p0 bits] of information does it take to transmit those three messages?\n\nAt most, it takes 11 bits: One for the coin, two for the direction, and 8 for the ASCII byte. For example, [heads, north, A] might be encoded as 0001000001, where 0 means "heads", 00 means "north", and 10000001 means "A" in ASCII.\n\nBut what if the messages depend on each other? What if the way that the cardinal direction was picked was by looking at the coin (such that you always say north if the coin lands heads, and south if the coin lands tails), and then the letter is picked by looking at the direction (such that you always say A for north, B for east, Z for south, and Y for west). Then how many bits does it take to transmit the message [heads, north, A]? Only one! Why? Because there are now only two possible messages: [heads, north, A] and [tails, south, Z]. Given two people who know the links between the three messages, all you need to tell them is how the coin came up, and they can figure out the entire message.\n\nFormally, if you want to send multiple messages, and those messages share [mutual_information mutual information], then the amount of [information] it takes to encode all three messages together is less than the amount of information it takes to encode each one separately. (In fact, the amount of information you can save by encoding them both together is at most the amount of mutual information between them).\n\nLooking at the collection of multiple messages as a single message, this fact is an immediate consequence of the fact that [ some messages being more likely than others means you can develop more efficient encodings for them].\n\nAlternatively, this fact can be seen as a corollary of the fact that [intradependent_compression intradependent encodings can be compressed]: Given three messages $m_1, m_2, m_3$ and an encoding scheme $E$, the encoding $E(m_1)E(m_2)E(m_3)$ made by simply putting all three encodings together can be interpreted as a single [3x4 intradependent encoding] of the triplet $(m_1, m_2, m_3)$.', metaText: '', isTextLoaded: 'true', isSubscribedToDiscussion: 'false', isSubscribedToUser: 'false', isSubscribedAsMaintainer: 'false', discussionSubscriberCount: '0', maintainerCount: '0', userSubscriberCount: '0', lastVisit: '', hasDraft: 'false', votes: [], voteSummary: 'null', muVoteSummary: '0', voteScaling: '0', currentUserVote: '-2', voteCount: '0', lockedVoteType: '', maxEditEver: '0', redLinkCount: '0', lockedBy: '', lockedUntil: '', nextPageId: '', prevPageId: '', usedAsMastery: 'false', proposalEditNum: '0', permissions: { edit: { has: 'false', reason: 'You don't have domain permission to edit this page' }, proposeEdit: { has: 'true', reason: '' }, delete: { has: 'false', reason: 'You don't have domain permission to delete this page' }, comment: { has: 'false', reason: 'You can't comment in this domain because you are not a member' }, proposeComment: { has: 'true', reason: '' } }, summaries: {}, creatorIds: [ 'NateSoares' ], childIds: [], parentIds: [ 'information_theory' ], commentIds: [], questionIds: [], tagIds: [ 'start_meta_tag' ], relatedIds: [], markIds: [], explanations: [], learnMore: [], requirements: [], subjects: [], lenses: [], lensParentId: '', pathPages: [], learnMoreTaughtMap: {}, learnMoreCoveredMap: {}, learnMoreRequiredMap: {}, editHistory: {}, domainSubmissions: {}, answers: [], answerCount: '0', commentCount: '0', newCommentCount: '0', linkedMarkCount: '0', changeLogs: [ { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11435', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '4', type: 'newEdit', createdAt: '2016-05-29 18:56:20', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11432', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '3', type: 'newEdit', createdAt: '2016-05-29 17:09:14', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11431', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '2', type: 'newEdit', createdAt: '2016-05-29 17:08:19', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11430', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '1', type: 'newEdit', createdAt: '2016-05-29 17:07:12', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11427', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '1', type: 'newTag', createdAt: '2016-05-29 17:06:57', auxPageId: 'start_meta_tag', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '11426', pageId: 'encoding_dependent_messages', userId: 'NateSoares', edit: '1', type: 'newParent', createdAt: '2016-05-29 17:06:54', auxPageId: 'information_theory', oldSettingsValue: '', newSettingsValue: '' } ], feedSubmissions: [], searchStrings: {}, hasChildren: 'false', hasParents: 'true', redAliases: {}, improvementTagIds: [], nonMetaTagIds: [], todos: [], slowDownMap: 'null', speedUpMap: 'null', arcPageIds: 'null', contentRequests: {} }