ITの基礎知識|ITパスポート・基本情報

【基礎理論】の記事一覧

オートマトン

2017.09.20

この記事での学習内容 基本情報 応用情報

有限オートマトンの概念、形式言語との関係、チューリング機械との関係、状態遷移表、状態遷移図を理解する。

用語例:プッシュダウンオートマトン

オートマトン

プログラミング言語などの形式言語で記述された分を解釈するための仮想的な機械概念をオートマトンといいます。
コンピュータそのものを数学的な観点からモデル化し、アルゴリズム(=問題解決のための処理手順)を定型化したものです。

元々は「自動人形」を意味している言葉で、現代のコンピュータ技術の基礎原理の一つとして、様々な場面で応用されています。

オートマトンのモデルでは、コンピュータを外部からの入力に応じて内部の状態が変化し外部に出力を行うものとして扱います。

なお、オートマトンとコラム「コンピュータの歴史」で紹介した「チューリング機械」というのは非常に似たものとなっていて、オートマトンの定義を拡張したものがチューリング機械となっています。

チューリング機械は無限の記憶領域を持つとされているが、0と1という記号の並びを入力として、順次処理を行い、後戻りしない、という共通点があります。

有限オートマトン

オートマトンの中で有限個の状態を扱うものを、特に「有限オートマトン」と呼びます。有限オートマトンでは、開始時点の状態(=初期状態)が決まっています。そして、入力によって他の状態へ変化(=遷移)します。最後に成功して終了する状態(=受容状態)のどれかに遷移すれば終了とします。

以下に有限オートマトンの特徴をまとめました。

  • 一つの初期状態を取る。
  • 有限な記憶領域を持つ。
  • 記号列を入力とし、一度に1つずつ読み込む。
  • 後戻りしない。
  • 入力に応じて、他の状態の遷移する。
  • 特定の状態のどれかで終わっていれば成功。受容状態となる。

例えば、「ノートパソコンの電源投入状態」を有限オートマトンで考えてみましょう。
このノートパソコンは、閉じると休止状態となり、開くと休止状態から復帰するものとします。

  • 初期状態は、電源が入っていない「停止」状態です。
  • 「電源スイッチON」という入力によって、状態は「動作」に遷移します。
  • 「動作」状態でパソコンを閉じると「休止」に遷移します。
  • 「休止」状態でパソコンを開くと「動作」に遷移します。
  • 「シャットダウン」という入力によって、「停止」に遷移し、終了します。

他に身近な例では、有限オートマトンの考え方で表現できるものとしては、「自動販売機」があります。

状態遷移表と状態遷移図

オートマトンの状態を表すものには、「状態遷移表」と「状態遷移図」があります。

どの状態の時に、どの入力があると、どの状態に変化(遷移)するのかを示す規則を、表にしたものが状態遷移表、図にしたものが状態遷移図です。

先述のノートパソコンの例を元に、状態遷移表と状態遷移図を確認してみましょう。

まずは、状態遷移表を示します。

縦が遷移前の状態、横が入力、表の中は遷移後の状態を表しています。なお、標柱の横棒は遷移がないことを示します。

次に状態遷移図を見てみましょう。

状態を楕円形で、入力を矢印によって、状態の遷移を視覚的に分かりやすいように表現しています。

プッシュダウンオートマトン

有限オートマトンの「状態」と「入力」に加えて、無限の容量の「スタック」を持っているのが、プッシュダウンオートマトンと呼ばれるものです。

スタックを持つことに加え、以下の点で有限オートマトンとは異なっています。

  • スタックのトップ(=最上位の要素)でなすべき状態遷移を判断する。
  • 遷移実行の一部として、スタック操作を行うことが出来る。

 

正当性理論

2017.09.19
この記事での学習内容 応用情報プログラムの正当性理論とは何か、部分正当性、全正当性の基本的な考え方、仕組みを理解する。用語例: 停止問題プログラムの正当性プログラム開発においては、不具合(=バグ)の発生はなかなか避けられないものです。このバグの除去のために作成するプログラムに対して、テストや検証を行いますが、「検証」を行うことで、プログラムの正当性を証明することができます。...

Read more...

形式言語

2017.09.19
この記事での学習内容 基本情報 応用情報形式言語とは何か、言語の定義、演算、種類、文法を理解する。また、BNF、構文図式などの表記法、正規表現、文脈自由文法を理解する。用語例: 逆ポーランド表記法自然言語と形式言語日本語や英語などの言語は人間が暮らしていく中で自然に発生したため、必ずしも厳密な文法に従っているとは限りません。こういった言語を自然言語といいます。それに対し、特定の...

Read more...

述語論理

2017.09.19
この記事での学習内容 基本情報 応用情報述語論理の考え方、演繹推論と帰納推論の違いを理解する。用語例: 関係データベース述語論理述語論理とは、命題の内部の構造を主語と述語の二つの構成要素に分解し、その中の術後部分を扱う理論です。命題文章や式で表された事象について、それが真であるか偽であるかが明確に決まるもの。命題論理審議の解っている既存の命題をつなげて新しい命題を作...

Read more...

文字の表現

2017.09.14
この記事での学習内容 ITパスポート 基本情報 応用情報代表的な文字コードを理解する。用語例: ASCIIコード、EUC(Extended UNIX Code)、JISコード、シフトJISコード、Unicode、UCS文字コードアルファベットやかな、漢字といった文字データを扱うために、コンピュータ内部ではそれぞれの文字に、0と1からなるコード番号を割り当てています。これを文字コード...

Read more...

符号理論

2017.09.14
この記事での学習内容 ITパスポート 基本情報 応用情報アナログとデジタルの特徴、量子化、標本化、A/D変換などの符号化、符号化の目的、情報伝送における信頼性、効率性、安全性の向上などの効果を理解する。用語例:通信路符号化、ハフマン符号、データ圧縮符号化理論符号化とは、データを数値に変換し、情報量として表現することで、コード化ともいいます。符号化理論とは、情報を符号化し、伝送を...

Read more...

情報理論

2017.09.14
この記事での学習内容 ITパスポート 基本情報 応用情報情報量の概念、事象の生起確率と情報量との関係を理解する。情報理論情報理論とは、ある事象における確率や統計を元に、情報の量を数学的に定義する理論です。 生起確率: ある事象 E が起こる確率。 P(E) 情報量:  事象が起こる確率を P(E) とする時、事象が起こったことを知らされた時に得られる(選択できる)情報の量。...

Read more...

情報処理技術者試験での学習内容【基本情報・応用情報】 情報理論、符号理論の考え方、仕組みを習得し、応用する。 コードによる文字の表現を習得し、応用する。 述語論理、形式言語、オートマトンなど、情報に関する理論の考え方、仕組みを習得し、応用する。 正当性理論の考え方、仕組みを習得し、応用する。【応用情報】 AI(人工知能)の考え方、仕組みを習得し、応用する。 コンパイ...

Read more...

最適化問題

2017.09.12
この記事での学習内容 基本情報 応用情報最適化問題とは何か、線形計画法、PERT、最短経路問題などの考え方を理解する。用語例: 動的計画法最適化問題制約のある中で、目的とする関数(目的関数)の解が最大(あるいは最小)となる値を求める問題を最適化問題といいます。目的関数や制約関数によって幾つかの種類にわけられます。線形計画法(LP法)目的関数と制約関数が一次式(直線)で表...

Read more...

待ち行列理論

2017.09.12
この記事での学習内容 ITパスポート 基本情報 応用情報待ち行列理論の構成要素、考え方、M/M/1モデルにおける計算、乱数を利用したシミュレーションを理解する。用語例: サービス時間、到着間隔、平均到着率、平均サービス率待ち行列モデル我々の生活の中では、銀行のATMや行政の窓口、商店のレジなど色々なところで行列が作られています。この待たされる行列のことを待ち行列と呼びます。この顧客...

Read more...