情報処理技術者試験では,データの扱い方や文字列・状態の解析,さらにはAIの基礎まで,幅広く「情報に関する理論」を理解していることが求められます。符号化やオートマトン,正規表現,形式言語,機械学習やディープラーニングの基本的な考え方を押さえていますか?
符号理論=データを効率よく表現・圧縮する方法
オートマトン=状態と入力の関係をモデル化する方法
正規表現=文字列のパターンを表す方法
形式言語=特定目的のために作られた規則的な言語
AI=データから学習し判断・予測する技術
符号理論では,ハフマン符号化やランレングス符号化を使ったデータ圧縮のしくみを理解し,オートマトンでは有限状態や状態遷移の考え方を押さえます。正規表現や形式言語では文字列操作や文法の基本を整理し,AIでは機械学習やディープラーニングの概念を理解することが重要です。
符号理論とは
ハフマン符号化とは
ハフマン符号化とは,文字列(や記号列)を符号化する際,出現回数の多い文字には短いビット列を,出現回数の少ない文字には長いビット列を割り当て,全体のデータ量を最小(1文字(1記号)当たりの平均ビット長を最小)にする圧縮方法のことをいいます。
※ 2分木構造を使用する
※ ハフマン符号化は,JPEGやZIPなどの圧縮方式として利用されている
例)あるメッセージの中に含まれている文字,a,b,c,dの符号化(出現頻度は,それぞれ,50%,25%,15%,10%であるとする)。
ランレングス符号化とは
ランレングス符号化とは,文字列(や記号列)を符号化する際,同じ文字が繰り返し出現する部分を「反復回数と文字」という形に置き換えて,全体のデータ量を少なくする圧縮方法のことをいいます。
オートマトンとは
オートマトンとは,コンピューターの状態をモデル化したものをいいます。内部に状態を保持し,外部からの入力に応じて,ある状態から別の状態に遷移し出力します。
有限オートマトンとは
有限オートマトンとは,状態や遷移の数が有限個のものをいいます。
※ 状態遷移図,状態遷移表の詳細は,「ソフトウェア要件定義・ソフトウェア方式設計・ソフトウェア詳細設計の基礎まとめ(状態遷移図とは)」を参照
正規表現とは
正規表現とは,ある文字列(や記号列)の中にメタ文字を埋め込んで表現するものをいいます。代表的なメタ文字には,次のようなものがあります。
※ メタ文字(メタキャラクタ)…特別な意味を与えられた記号など
形式言語とは
形式言語とは,特定の目的のために作られた言語のことをいいます。
BNF(Backus-Naur Form)とは
BNFは,プログラム言語の定義などに利用されている形式言語です。
逆ポーランド表記法(後置表記法)とは
逆ポーランド表記法とは,演算式などを記述する際の表記法(のひとつ)のことをいいます。演算子を被演算子の後ろに記述します。
※ ポーランド表記法…演算子を非演算子の前に記述する表記法
逆ポーランド表記法での計算手順
逆ポーランド表記法で記述された演算式は,スタックを用いて計算することができます。
AI(Artificial Intelligence;人工知能)とは
AI(人工知能)とは,(人間と同じような)知的なコンピュータープログラムを作るための技術のことをいいます。
機械学習とは
機械学習とは,(データから特定のパターンを見つけ出すような)人間が行っている学習能力をコンピューターに持たせるための技術のことをいいます。
| 教師あり学習 | データと,その正解を与えて規則性などを学習させ,未知のデータに対して正誤を判断できるようにする方式 例)需要予測など |
| 教師なし学習 | データのみを与えて(正解は与えない),規則性や特徴などを見つけ,グループ化する方式 例)クラスタリング |
| 強化学習 | それぞれの行動に対して得点(評価,報酬)を与え,最善の(最も多く点が取れる)行動を学習する方式 例)ロボットの制御,将棋や碁のゲーム |
ニューラルネットワークとは
ニューラルネットワークとは,人間の神経網を模倣したモデルのことをいいます。
※ パーセプトロン…ニューロン(人間の脳にある神経細胞)をモデル化したもの
ディープラーニング(深層学習)とは
ディープラーニング(深層学習)とは,ニューラルネットワークの隠れ層が複数あるものを使用して,より複雑な学習をできるようにしたものをいいます。
AIモデルとは
AIモデルとは,学習によって得られた知識や規則性を基に,予測や分類,文章の生成などを行うモデルのことをいいます。
大規模言語モデル(LLM;Large Language Model)とは
大規模言語モデルとは,大量の文章データを学習し,自然な文章を生成したり,質問に回答したり,要約や翻訳を行ったりできるAIモデルのことをいいます。
※ ChatGPTなどの生成AIで利用されている
ファインチューニングとは
ファインチューニングとは,あらかじめ大量のデータで学習したAIモデルに対して,特定の分野のデータを追加で学習させ,目的に合わせて性能を向上させる技術のことをいいます。
※ 例えば,医療や法律などの専門分野の文章を追加で学習させることで,その分野に適したAIを作ることができる
生成AIとは
生成AIとは,学習したデータを基に,新しい文章や画像,音声,プログラムなどを生成するAIのことをいいます。
※ ChatGPT(文章生成)や画像生成AIなど
※ オプトアウト…生成AIに入力したデータを,AIの学習に利用しないようにすること
プロンプトエンジニアリングとは
プロンプトエンジニアリングとは,生成AIから望ましい回答を得られるように,指示(プロンプト)を工夫する技術のことをいいます。
AIで利用される主な技術
| 自然言語処理 | 文章や会話など,人間の言語を処理する技術 |
| 画像認識 | 画像や映像から物体や人物などを認識する技術 |
| 音声認識 | 音声を文字データへ変換する技術 |
| 生成AI | 文章・画像・音楽・プログラムなどを生成するAI |
まとめ
今回は,符号理論,オートマトン,正規表現,形式言語,AIについて,基本情報技術者試験で押さえておきたい内容をシンプルにまとめてみました。符号理論では,出現頻度に応じたビット長割り当て(ハフマン符号化)や繰り返しをまとめる(ランレングス符号化)ことで,データ量を効率的に減らす考え方を理解しましょう。オートマトンでは,状態と遷移を整理し,有限オートマトンのしくみを理解することが大切です。正規表現・形式言語では,文字列のパターンや文法の規則を正確に捉えられるようにしておきましょう。AI(機械学習・ディープラーニング)では,データから学習し,未知のデータに対応するしくみを理解することが基本です。
これらの分野は,概念理解と基本用語の整理が得点源となるポイントです。まずは考え方を押さえ,例題や過去問題に挑戦しながら理解を深めていきましょう。
理解が進んだら,基本情報技術者試験の過去問題にもチャレンジしてみてください。
※ このページでは読みやすさを考慮し「コンピューター」,「サーバー」など長音付きで表記していますが,試験では「コンピュータ」,「サーバ」と表記されます
基本情報技術者試験の学習におすすめの参考書
基本情報技術者試験の合格を目指す方におすすめの参考書です。
学習のお役に立ちましたら
この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。
よろしければ、このサイトを応援いただけますと嬉しいです。
※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。


