符号
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、符号理論の符号(code)について説明しています。数学の符号(sign)については「符号 (数学)」を、その他の符号については「符号 (曖昧さ回避)」をご覧ください。
モールス符号

符号理論において、符号(ふごう)またはコード(: code)とは、シンボルの集合S, Xがあるとき、Sに含まれるシンボルのあらゆる系列から、Xに含まれるシンボルの系列への写像、または、Sに含まれるシンボルに対してその写像を適用した結果得られるXのシンボルの系列(符号語)の集合のことである。Sを情報源アルファベット、Xを符号アルファベットという。すなわち符号とは、情報の断片(例えば、文字ジェスチャーなど)を別の形態や表現へ(ある記号から別の記号へ)変換する規則であり、変換先は必ずしも同種のものとは限らない。

コミュニケーション情報処理において符号化(エンコード)とは、情報源の情報を伝達のためのシンボル列に変換する処理である。復号(デコード)はその逆処理であり、符号化されたシンボル列を受信者が理解可能な情報に変換して戻してやることを指す。

符号化が行われるのは、通常の読み書きや会話などの言語によるコミュニケーションが不可能な場面でコミュニケーションを可能にするためである。例えば、手旗信号腕木通信の符号も個々の文字や数字を表していることが多い。遠隔にいる人がその手旗や腕木を見て、本来の言葉などに戻して解釈することになる。
理論

情報理論計算機科学において符号とは、情報源アルファベットから符号アルファベットへと一意に符号化するアルゴリズムを指す。一連のシンボル(文章)については情報源アルファベットから符号アルファベットへの変換を逐一行い、それらを連結することで符号化がなされる。

大雑把な例を示す。写像 C = { a ↦ 0 , b ↦ 01 , c ↦ 011 } {\displaystyle C=\{\,a\mapsto 0,b\mapsto 01,c\mapsto 011\,\}}

は符号を表しており、情報源アルファベットは集合 { a , b , c } {\displaystyle \{a,b,c\}} であり、符号アルファベットは集合 { 0 , 1 } {\displaystyle \{0,1\}} である。この符号を使って 0011001011 という符号文字列が得られたとする。これを符号語に分割すると 0 ? 011 ? 0 ? 01 ? 011 となり、復号すれば acabc というシンボル列が得られる。

形式言語理論の用語を使うと、符号の概念は次のように定義される。SとTという2つの有限集合があり、Sを情報源アルファベット、Tを符号アルファベットとする。符号 C : S → T ∗ {\displaystyle C:\,S\to T^{*}} は、Sの個々のシンボルがTの元を使ったワード(シンボルの並び)に対応する写像であり、 S ∗ {\displaystyle S^{*}} から T ∗ {\displaystyle T^{*}} への準同型写像に拡大すれば、情報源アルファベットの並びを符号アルファベットの並びへと自然に写像できる。
可変長符号詳細は「可変長符号」を参照

ここでは、情報源のそれぞれの文字をなんらかの辞書に従って符号語に符号化し、それらを連結して符号化された文字列を形成する符号を扱う。可変長符号は、元の文書でそれぞれの文字が出現する頻度が異なる場合に特に便利である。詳しくはコンパクト符号エントロピー符号を参照。

接頭符号は語頭属性 (prefix property) を満たす符号である。接頭符号ではそれぞれの符号語が決して他の符号語の接頭部にならない。ハフマン符号は接頭符号を作る最も一般的なアルゴリズムであり、そのため接頭符号をハフマン符号と呼ぶこともあるが、ハフマン符号のアルゴリズムを使わずに接頭符号を作ることもできる。接頭符号の他の例として国際電話の国番号ISBNのグループ番号と出版者番号、W-CDMAで使われている2次同期コード (SSC) などがある。

クラフトの不等式は、可変長符号が一意に復号可能であるための必要条件を与える。
ブロック符号詳細は「ブロック符号」および「線型符号」を参照.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この節の加筆が望まれています。

誤り訂正符号詳細は「誤り検出訂正」を参照

データを転送あるいは保存する際に誤りが起きにくいようにする方法として符号を使うこともある。そのような符号を誤り訂正符号と呼び、格納または転送されるデータに注意深く冗長性を導入する。例えば、ハミング符号リード・ソロモン符号リード・マラー符号直交符号BCH符号ターボ符号ゴレイ符号ゴッパ符号低密度パリティ検査符号などがある。誤り訂正符号は、「バースト誤り」または「ランダム誤り」を検出することに最適化されている。

コミュニケーションにおける簡略化のための符号

電信符号では単語をもっと短い語に置き換え、同じ情報を少ない文字数で素早く送るようにしている。

符号は簡略化のために使われることがある。電報が高速な長距離通信の最新手段だったころ、フレーズ全体を一つの単語(5文字)で符号化するという符号体系ができ、通信士はその符号語に精通するようになった。例えば、BYOXO は "Are you trying to weasel out of our deal?"(あなたは我々との取引から責任逃れしようとしているのか?)、LIOUY は "Why do you not answer my question?"(何故私の質問に答えないのか?)、BMULD は "You're a skunk!"(くそったれ!)、AYYLU は "Not clearly coded, repeat more clearly."(不明瞭、もっとはっきり繰り返せ)などがある。符号語は、長さ発音の容易さなど様々な理由から選定された。それら符号語の意味は商取引、軍事、外交、諜報などのニーズに合わせて設定されている。こういった符号語と意味の対応を記したコードブックとその出版業が登場し、中でも第一次世界大戦と第二次世界大戦の間にハーバート・オズボーン・ヤードリーが創設したブラック・チェンバーもコードブックを出版していた。このような符号は主に電信コストを抑えるために作られた。データ圧縮を目的としたデータ符号化はコンピュータより先行していたとも言える。そもそもモールス符号も、よく使われる文字を短い表現にしている。ハフマン符号などの技法は今でもデータの圧縮のためのアルゴリズムとしてコンピュータ上で使われている。
文字コード詳細は「文字コード」を参照

文字を符号化したデータ通信符号として最もよく知られているものとしてASCIIがある。ある程度互換性を保ったいくつかのバージョンがあり、コンピュータ端末プリンター、他の通信機器などで広く使われている。128種のキャラクタを7ビットの二進数で表しており、1と0が7個並んだものである。例えば小文字の "a" は 1100001、大文字の "A" は 1000001 などとなっている。文字コードは他にも様々なものがあり、1バイトでそれぞれの文字を表すもの、整数符号点に文字を割り当てるもの(Unicode)、バイト列で文字を表すもの(UTF-8)などがある。
遺伝コード詳細は「コドン」を参照

生物は、生体の機能とその発達を制御する遺伝形質を持っている。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef