G検定(ジェネラリスト検定)
まいしん
マイシン
MYCIN
Mycin Program
マイシン(MYCIN)は、感染症の診断と抗生物質の処方という医師の判断を手伝うために作られたエキスパートシステムです。医師の知識をIF-THEN形式のルールとして知識ベースに蓄え、推論エンジンがそのルールを患者の情報に当てはめて結論を導くという、知識と推論の仕組みを分けた作りをとっていました。
詳しい説明
感染症の診断と処方を手伝うプログラム
マイシン(MYCIN)は、感染症の患者を診る医師の判断を手伝うために作られたコンピュータプログラムです。細菌などが体に入って起きる感染症の治療では、原因がどの病原体なのかを見定める診断と、その病原体に効く抗生物質(細菌の増殖を抑えたり細菌を死なせたりする薬)を選んで処方することが大きな判断になります。マイシンは、この診断と処方の2つの判断を対象にしていました。
マイシンは、エキスパートシステムと呼ばれる種類のAIにあたります。エキスパートシステムとは、特定の分野の専門家が持つ知識をコンピュータに書き込み、専門家に近い判断をさせようとするシステムのことです。マイシンの場合、知識の持ち主にあたる専門家は、感染症の治療にあたる医師です。G検定のシラバスでは、知識表現とエキスパートシステムを扱う項目のキーワードとして、DENDRALなどと並んで挙げられています。
知識ベースと推論エンジンに分けた作り
マイシンは、大きく2つの部品でできています。1つ目は知識ベースで、感染症の診断や抗生物質の選び方について医師が持っている知識を蓄えた部分です。2つ目は推論エンジンで、知識ベースに入っている知識を目の前の患者の情報に当てはめ、結論を導く部分です。
知識と、知識を使って考える手順とが別々の部品になっているので、医学の知識を書き足したり直したりするときに、推論エンジンの側を作り直さずに済みます。医学の知識は研究が進むにつれて変わっていくものなので、知識の部分だけを入れ替えやすい作りには意味があります。
IF-THENルールで医師の知識を書き表す
マイシンの知識ベースでは、医師の知識をIF-THEN形式のルールで書き表します。IF-THENルールとは「もし(IF)この条件が成り立つならば、そのとき(THEN)この結論を導く」という形の1文です。
説明のための仮の例を2つ挙げます。これはマイシンに実際に入っていたルールを写したものではなく、ルールの形と使われ方を示すために作った例です。
1本目は「もし血液の検査で細菌が見つかったならば、その細菌による感染症を疑う」というルールです。2本目は「もしある細菌による感染症が疑われるならば、その細菌に効く抗生物質を処方の候補にする」というルールです。
患者の検査で細菌が見つかったという情報が入ると、推論エンジンは1本目のルールの条件が成り立つことを確かめ、感染症を疑うという結論を出します。この結論が今度は2本目のルールの条件に当てはまるので、抗生物質の候補という次の結論が出ます。1本ずつでは検査結果から処方までたどり着けませんが、ルールをつなげて使うことで、検査の結果から処方の候補までを導けます。
ルールは1本ずつが短く独立した文なので、医師が読んで中身を確かめたり、足りない知識を1本単位で書き足したりしやすい形です。
知識工学の事例としてのマイシン
エドワード・A・ファイゲンバウム(Edward A. Feigenbaum)は、1977年の国際会議IJCAI-77で発表した論文で、専門家の知識をコンピュータに移して難しい問題を解かせる取り組みを知識工学(knowledge engineering)と呼びました。この論文は、知識工学を実際に行った事例として、マイシンのほかにDENDRAL・PUFF・AM・MOLGEN・CRYSALISといったシステムを紹介しています。
また、ブルース・G・ブキャナン(Bruce G. Buchanan)とエドワード・H・ショートリフ(Edward H. Shortliffe)が編集した1984年の書籍は、スタンフォード大学のヒューリスティック・プログラミング・プロジェクトで行われた一連の実験としてマイシンの研究をまとめています。書名もルールに基づくエキスパートシステム(Rule-Based Expert Systems)であり、マイシンはルールで知識を書き表すやり方を試した研究として位置づけられています。
知識を集めるという難しさ
マイシンのように専門家の知識をルールに書き起こすやり方には、そもそも知識を集めること自体が難しいという課題が伴います。医師は多くの判断を経験に基づいて行っており、その中身をルールとして1本ずつ言葉にするには、医師への聞き取りと書き起こしに大きな手間がかかります。
ファイゲンバウムの1977年の論文も、結びの節で、知識工学に取り組む人が直面している問題として、専門家の知識をシステムへ移すことの難しさを挙げ、知識獲得の問題(knowledge acquisition problem)に集中して取り組む必要を述べています。これはマイシンだけでなく、知識工学のシステム全般に関わる課題として書かれています。G検定のシラバスでは、知識獲得のボトルネックというキーワードが別の中項目(人工知能分野で議論される問題)に挙げられています。この論文自身は「ボトルネック」ではなく「知識獲得の問題」という言い方をしています。
データから学ぶ方法との違い
マイシンの知識は、人が医師から聞き取ってルールの形に書いたものです。そのため、どのルールをどの順に使ったかを見れば、結論に至った筋道をたどれます。一方で、ルールに書かれていない場面には答えられず、知識を増やすには人がルールを書き足し続ける必要があります。
これに対して機械学習は、データの中からパターンや規則をコンピュータ自身が見つけ出す方法です。人がルールを1本ずつ書かなくても済みますが、学習した結果がルールのように人が読める形になるとは限りません。マイシンを学ぶときは、知識を人が書いて与えるのか、データから学ばせるのかという違いに注目すると、エキスパートシステムと機械学習の関係が見えやすくなります。
試験で問われること
G検定
- マイシンは、感染症の診断と抗生物質の処方という医療の判断を対象にしたエキスパートシステムです。対象分野が医療であることが、同じエキスパートシステムのDENDRALなどと見分ける手がかりになります。
- マイシンは、医師の知識を蓄える知識ベースと、その知識を患者の情報に当てはめて結論を導く推論エンジンという2つの部品に分けて作られていました。
- マイシンの知識ベースは、医師の知識を「もし条件が成り立つならば、この結論を導く」というIF-THEN形式のルールで書き表していました。人がルールを書くルールベースのやり方の例です。
- 専門家の知識をルールに書き起こす作業には大きな手間がかかり、この知識を集める難しさは、G検定のシラバスで別の中項目のキーワードとして挙げられている知識獲得のボトルネックにあたります。データから規則を見つける機械学習との違いと合わせて整理しておくと理解しやすくなります。
最終更新日: 2026/09/23