記号論(semiotics)の祖チャールズ・サンダース・パースによれば、シンボルは記号(この文脈ではsemiosis)のうち「約定性」により対象を表すものとして定義される。
シンボル以外の記号にはイコン (icon) とインデックス (index) がある。イコンは「類似性」により対象を表す、つまり、対象そのものを象った記号である。インデックスは「因果性」により対象を表す、つまり、対象と時間的または空間的に結びついた物を使った記号である。
それらに対しシンボルは、書き手と読み手(あるいは話し手とき手)の間の約束事による記号である。純粋なシンボルは、記号自体にはイコンやインデックスのような対象を表す要素はない。ただし実際のシンボルには、イコンやインデックスの性質を併せて持つものも多い。
典型的なシンボルとして言語がある。旗や紋章なども、基本的にはシンボルである。
純粋なシンボルでない国旗の例
+ イコン
|
+ インデックス
|
|
|
記号を、特定的・実践的なシグナル (signal) と、普遍的・観念的なシンボルとに分けることもある。
コンピュータ科学関連分野における「シンボル」
編集
この節では、コンピュータ科学や関連分野における専門用語としての「シンボル」を解説する。これは人文学分野におけるシンボル(象徴)とは意味が異なるため注意を要する。
ここでは「シンボル」とは、データに含まれるひとかたまりの記号や、プログラミングで用いられる「名前」のことであり、その名前から実体のデータを得るデータ構造をシンボルテーブルと言う。例えばコンパイラはソースコードからオブジェクトコードを生成する際、関数であればその「実体」を構成する一連の機械語命令列(「コード片」などとも言う)だけでなく、その関数の関数名からそれを指す「シンボル」を、シンボルテーブルに追加する。ビルドプロセスでは、コンパイルの次のリンクの段階で、リンカが複数のモジュールからそれぞれのシンボルテーブルを参照し、実行ファイルやライブラリのリンクを解決する。近年のコンパイラが複雑な方法を用いてシンボルを生成することに関しては名前修飾を参照されたい。
Lispや、その影響を受けたSmalltalkやRubyなどにあるSymbolは、interning(en:String interning)された文字列である(外部資料[2]を参照)。また特にLispでは、その処理系における伝統的な手法の一つである shallow access の実装においても重要である。
人工知能分野では、1990年にStevan HarnadがThe Symbol Grounding Problemで提起したsymbol grounding(記号接地あるいは記号着地などと訳されることもある)問題などといった話題に代表される「シンボル」がある。ここでの「シンボル」とは、コンピュータによる情報処理システムが扱っている符号化された情報といったような意味で、究極的にはチューリングマシンがそのテープに読み書きする「記号」のことであり[注 1]、それを自律ロボットのような人工知能システムがいかに「意味」に結びつけ(接地し)物事を理解させるのか、といったことが論点である。
情報理論では、情報源アルファベットや符号アルファベットの元をシンボルという。
- ^ 従って、記号学における議論の多くに関係するような側面は、前提の時点で捨象されている。
ウィキメディア・コモンズには、
シンボルに
関連するカテゴリがあります。