符号のソースを表示
←
符号
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{otheruses|符号理論の符号(code)|数学の符号(sign)|符号 (数学)|その他の符号|符号 (曖昧さ回避)}} {{出典の明記|date=2025年2月}} [[ファイル:International Morse Code.svg|right|thumb|290px|モールス符号]] [[符号理論]]において、'''符号'''(ふごう)または'''コード'''({{lang-en-short|code}})とは、[[シンボル]]の集合''S'', ''X''があるとき、''S''に含まれるシンボルのあらゆる系列から、''X''に含まれるシンボルの系列への[[写像]]、または、''S''に含まれるシンボルに対してその写像を適用した結果得られる''X''のシンボルの系列([[符号語]])の集合のことである。''S''を[[情報源アルファベット]]、''X''を[[符号アルファベット]]という。すなわち符号とは、[[情報]]の断片(例えば、[[文字]]、[[語]]、[[句]]、[[ジェスチャー]]など)を別の形態や表現へ(ある記号から別の記号へ)変換する規則であり、変換先は必ずしも同種のものとは限らない。 [[コミュニケーション]]や[[情報処理]]において'''符号化'''([[エンコード]])とは、[[情報源]]の情報を伝達のためのシンボル列に変換する処理である。'''復号'''([[デコード]])はその逆処理であり、符号化されたシンボル列を受信者が理解可能な情報に変換して戻してやることを指す。 符号化が行われるのは、通常の読み書きや会話などの言語によるコミュニケーションが不可能な場面でコミュニケーションを可能にするためである。例えば、[[手旗信号]]や[[腕木通信]]の符号も個々の文字や数字を表していることが多い。遠隔にいる人がその手旗や腕木を見て、本来の言葉などに戻して解釈することになる。 == 理論 == [[情報理論]]や[[計算機科学]]において符号とは、情報源[[アルファベット (計算機科学)|アルファベット]]から[[符号アルファベット]]へと一意に符号化する[[アルゴリズム]]を指す。一連のシンボル(文章)については情報源アルファベットから符号アルファベットへの変換を逐一行い、それらを連結することで符号化がなされる。 大雑把な例を示す。写像 :<math>C = \{\, a\mapsto 0, b\mapsto 01, c\mapsto 011\,\}</math> は符号を表しており、情報源アルファベットは集合 <math>\{a,b,c\}</math> であり、符号アルファベットは集合 <math>\{0,1\}</math> である。この符号を使って ''0011001011'' という符号文字列が得られたとする。これを符号語に分割すると ''0 – 011 – 0 – 01 – 011'' となり、復号すれば ''acabc'' というシンボル列が得られる。 [[形式言語]]理論の用語を使うと、符号の概念は次のように定義される。SとTという2つの有限集合があり、Sを情報源[[アルファベット (計算機科学)|アルファベット]]、Tを[[符号アルファベット]]とする。'''符号''' <math>C:\, S \to T^*</math> は、Sの個々のシンボルがTの元を使ったワード(シンボルの並び)に対応する[[写像]]であり、<math>S^*</math> から <math>T^*</math> への[[準同型]]写像に拡大すれば、情報源アルファベットの並びを符号アルファベットの並びへと自然に写像できる。 === 可変長符号 === {{main|可変長符号}} ここでは、情報源のそれぞれの文字をなんらかの辞書に従って[[符号語]]に符号化し、それらを連結して符号化された文字列を形成する符号を扱う。可変長符号は、元の文書でそれぞれの文字が出現する頻度が異なる場合に特に便利である。詳しくは[[コンパクト符号]]と[[エントロピー符号]]を参照。 [[接頭符号]]は語頭属性 (prefix property) を満たす符号である。接頭符号ではそれぞれの符号語が決して他の符号語の接頭部にならない。[[ハフマン符号]]は接頭符号を作る最も一般的なアルゴリズムであり、そのため接頭符号をハフマン符号と呼ぶこともあるが、ハフマン符号のアルゴリズムを使わずに接頭符号を作ることもできる。接頭符号の他の例として[[国際電話番号の一覧|国際電話の国番号]]、[[ISBN]]のグループ番号と出版者番号、[[W-CDMA]]で使われている2次同期コード (SSC) などがある。 [[クラフトの不等式]]は、可変長符号が一意に復号可能であるための必要条件を与える。 === ブロック符号 === {{Main|ブロック符号|線型符号}} {{節スタブ}} === 誤り訂正符号 === {{Main|誤り検出訂正}} データを転送あるいは保存する際に誤りが起きにくいようにする方法として符号を使うこともある。そのような符号を[[誤り検出訂正|誤り訂正符号]]と呼び、格納または転送されるデータに注意深く冗長性を導入する。例えば、[[ハミング符号]]、[[リード・ソロモン符号]]、[[リード・マラー符号]]、[[直交符号]]、[[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."(不明瞭、もっとはっきり繰り返せ)などがある。[[符号語]]は、[[長さ]]、[[発音]]の容易さなど様々な理由から選定された。それら符号語の意味は商取引、軍事、外交、諜報などのニーズに合わせて設定されている。こういった符号語と意味の対応を記したコードブックとその出版業が登場し、中でも第一次世界大戦と第二次世界大戦の間に[[ハーバート・オズボーン・ヤードリー]]が創設した[[ブラック・チェンバー]]もコードブックを出版していた。このような符号は主に電信コストを抑えるために作られた。[[データ圧縮]]を目的としたデータ符号化はコンピュータより先行していたとも言える。そもそも[[モールス符号]]も、よく使われる文字を短い表現にしている。[[ハフマン符号]]などの技法は今でもデータの圧縮のための[[アルゴリズム]]としてコンピュータ上で使われている。 === 文字コード === {{Main|文字コード}} 文字を符号化したデータ通信符号として最もよく知られているものとして[[ASCII]]がある。ある程度互換性を保ったいくつかのバージョンがあり、[[コンピュータ]]、[[端末]]、[[プリンター]]、他の通信機器などで広く使われている。128種の[[キャラクタ (コンピュータ)|キャラクタ]]を7ビットの[[二進法|二進数]]で表しており、1と0が7個並んだものである。例えば小文字の "a" は 1100001、大文字の "A" は 1000001 などとなっている。文字コードは他にも様々なものがあり、1[[バイト (情報)|バイト]]でそれぞれの文字を表すもの、整数[[符号点]]に文字を割り当てるもの([[Unicode]])、バイト列で文字を表すもの([[UTF-8]])などがある。 === 遺伝コード === {{Main|コドン}} 生物は、生体の機能とその発達を制御する遺伝形質を持っている。それが[[デオキシリボ核酸|DNA]]であり、その中に[[遺伝子]]と呼ばれるユニットが含まれる。遺伝子はコード([[コドン]])を通して[[タンパク質]]を作ることができ、そのコードは4種類の[[ヌクレオチド]]が3つ並んだものであって、その並びが20種類の[[アミノ酸]]のいずれかに翻訳される。 === ゲーデル符号 === [[数学]]において、[[ゲーデル数|ゲーデル符号]]を基礎として[[クルト・ゲーデル|ゲーデル]]の[[ゲーデルの不完全性定理|不完全性定理]]の証明がなされた。その考え方の基本は、([[ゲーデル数]]を使って)数学的記述を[[自然数]]に写像するというものだった。 === 暗号 === [[暗号史]]において、コードブックを使った符号([[符牒]]、暗号)は通信の秘密を守る手段として広く使われていたが、今では複雑なアルゴリズムを用いる[[暗号]]が使われている。 暗号は元の平文がわからないようにすることを意図しており、軍事・外交・諜報活動のための真剣なものから、ゲームなどの瑣末なものまで様々な技法が存在する。花、トランプ、衣服、扇、帽子、音楽、鳥など、様々なものに符号化することもあり、送り手と受け手の間で事前に意味について合意しておくことが必要である。 == その他の例 == [[色]]を符号として用いる例がある。例えば[[交通信号機|信号機]]や[[抵抗器]]などの[[受動素子]]の[[抵抗器#カラーコード|カラーコード]](抵抗値などを表す)などがある。また、自治体などによってはゴミの分別のために色分けしたゴミ入れを使う場合もある。音を符号として用いる例として、軍隊で使っていた信号ラッパ([[ビューグル]])がある。感覚器に障害のある人のためのコミュニケーションシステムとして[[手話]]や[[点字]]があり、動きや触覚を符号として用いている。 [[楽譜]]は[[音楽]]を符号化したものと言える。[[チェス]]、[[囲碁]]、[[将棋]]などは[[棋譜]]と呼ばれる符号体系で対局の記録をとる。 符号化のその他の例として次のものがある。 * [[認識]]における符号化 - 入ってくる刺激を解釈する基本的知覚プロセス。複雑な多段プロセスで知覚入力(光、音など)を意味のある体験へと変換していく。 * [[コンテントフォーマット]] - 特定の種類の[[データ]]を[[情報]]に変換するための個別的な符号化フォーマットである。 * 電子符号化 - 信号を[[伝送]]や[[電子媒体]]に最適化した符号に変換することで、一般に[[コーデック]]で行う。 * [[:en:Neural encoding|Neural encoding]] - [[神経細胞]]での情報の表現方法 * (人間などの)記憶の符号化 - 感覚を記憶に変換するプロセス 復号のその他の例として次のものがある。 * [[デジタル-アナログ変換回路]] - デジタル符号をアナログ信号に復号する。 * [[構文解析]] * [[復号手法]] - 情報理論においてノイズのある伝送路上で符号語を送ったときの復号の方法 * [[デジタル信号処理]] - デジタルで表現された信号を処理する技法 * [[フォニックス]] - 書かれた文章や単語を解読して発音するための学習法 == 符号と頭字語 == [[頭字語]]や略称もコードの一種と見なすことができ、その意味ではあらゆる[[言語]]も記述体系も人間の思考を符号化するものと見ることもできる。 [[空港コード|国際空港運送協会の空港コード]]は空港を識別する3文字のコードであり、荷物のタグなどで使われている。 場合によっては、元の語句が忘れ去られたり符号語が考案されたころと意味が変わってしまい、符号語が独自の存在(と意味)を持つに至ることもある。例えばアメリカなどの[[報道]]関係では "[[30]]" が「原稿の終り」を意味し、転じて「終り」の意味で報道以外でも使われることがある。 == 関連項目 == {{Commonscat|Codes}} * [[記号学]] *[[プログラミング用語一覧]] *[[疎グラフ符号]] *[[数え上げ符号]] *[[巡回符号]] {{DEFAULTSORT:ふこう}} [[Category:符号理論]] [[Category:情報]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Commonscat
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Main
(
ソースを閲覧
)
テンプレート:Otheruses
(
ソースを閲覧
)
テンプレート:出典の明記
(
ソースを閲覧
)
テンプレート:節スタブ
(
ソースを閲覧
)
符号
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報