SkillStack
テクノロジ系9 / 25問

システムアーキテクト試験 令和6年度 春期 午前II 問9

論理型プログラミングにおいて、命題の証明を行うための基本的な機能はどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

ユニフィケーションは、二つの項や述語が同じ形になるように、変数へ値を代入して対応付ける機能です。例えば、問合せparent(X、健)と事実parent(明、健)を照合すると、X=明という代入によって両者を一致させられます。論理型プログラミングでは、目標と規則又は事実をユニフィケーションで照合し、推論規則を適用します。一致しなければ別の候補へ戻るバックトラッキングも用いながら、命題を証明します。

アのオーバーライドは誤りです。これは、オブジェクト指向で、基底クラスから継承したメソッドを派生クラスが同じ名前と引数で再定義する仕組みです。 イのオーバーロードは誤りです。これは、引数の型や個数が異なる複数の処理に同じ名前を付け、呼出しに応じて使い分ける仕組みです。 ウのメッセージパッシングは誤りです。これは、オブジェクトやプロセス間でメッセージを送り、処理を依頼したり情報を交換したりする仕組みです。

【ポイント】 ユニフィケーションは、単なる文字列比較ではなく、変数への代入を求めて論理式を一致させる操作です。 論理型言語では「事実・規則・問合せ」と「ユニフィケーション・推論・バックトラッキング」の組合せを押さえます。

出典:令和6年度 春期 システムアーキテクト試験 午前II 問9
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める