一人で対戦ゲームの研究とかやっていると困るのが 相手の考えていることが言葉通り手に取るようにわかることです。当たり前で対戦相手も自分なのですから相手の考えていることがわかって当たり前で それ故にそれを切り離して考えるというのが非常に難しい技術となっています。
将棋や囲碁のようなものの場合、相手がどう考えるかより相手の考えも含めてすべての手を読んで進めると結果的に最善手と思われるものが選び出されてそれをお互いに刺すそうなのですが それでも注目すべき部分などがどうしても寄ってしまいますし 自分にとって意外な手などは打ってくれないわけですから完璧にというわけにはいかないでしょう。
その点コンピューターなどは 複数の人格を持つことも得意としています。
最近でいう所のVmという技術で バーチャルマシンというコンピューターの中にもう一つのコンピューターを置いて動作していることが多く アンチウイルスなども客観的に自分でないところに存在して そこから監視するような形態をとっているものもあります。
かっこは全くの別物として存在するために 例えば前述の自分帯自分の対戦であったとしても全く別のものと対戦するという状況を作り出すことが簡単にできるわけです。
もっとも、プログラムとして実現することが簡単なのでこういった仕組みを作る必要性すらないのではありますが
WindowsにしてもiOSにしてもAndroidにしてもですが 根本たる部分にOSが存在してデータのやり取りから画面の描画までOSを経由して行っています。
何故そうなるかというと そうしないと各プログラムが統一した操作も表示も実行もできなくなるからでOSは交通整理のような動作をしているわけです。
なので、画面の表示にしてもキーボードの入力にしても外部のインターフェースとのやり取りに関してもすべてOSを介して実行されているわけです。
ウイルスがデータを抜き取る手法としてキーロガーという手法がありますが これはキーの入力を監視してその通りに再現すると例えばパスワード入力などを読み取ることができるというものです。
他にも付帯しているカメラで手の入力を監視するようなものまであるようです。
OSであれば そもそもキーの入力を監視することなど普通にできているわけです。
というか監視してないと OS側の操作なのかアプリケーション側の操作なのかわからなくなるのです。
少し横道にそれますが、「キーの入力を監視するソフトなんてOSが許可しなければいいのに?」と思ったりするかもしれませんが そういったソフトが存在する必要があるのです。
そんなのあるの?と言われそうですが 日本語入力IMEと言われる奴がそれです。
ローマ字入力やかな入力で入力された文字を漢字に変換するわけですから入力内容を監視しないとできないわけです。
その上、入力の最適化の為に記録したりクラウド化された辞書を使うために入力内容をインターネット越しに外部のサーバーに送ったりするわけですから 動作的にはキーロガーと呼ばれるウイルスソフトとやっていることは変わらないわけです。
そのデータの利用目的と効能が違うだけなので。
なので、MAC OSでは日本語入力ソフトが入れ替えられないとか Windows On ARMでも出来ないなどの問題が出たわけです。
これもいずれ解決するとは思うのですが
プログラムベースでもなので Vmとなればもっとです。
全ての動作の監視をやろうと思えばできるレベルです。
全てのハードウエアの入出力は メインとなるマシン経由なので全てデータとして得ることができるわけです。
勿論、入力そのままでないデータのやり取り 例えば外部のプログラムでの実行などは入力はともかくやり取りは暗号化されているので見えないわけですが 少なくともキー入力ぐらいは得ることができるわけです。
人間は知っているという事を意図的に隠して思考を行うことが難しいと前述した通りですがコンピューターにとってはプログラムによってそれは簡単に行うことができます。
ただ、ほかの思考が見えていないわけではありません。見ることはできるのです。
意図的に見ないようにしているもしくは見ても見ない振りをしているだけなのです。
もしも、GoogleやAppleが「実は見ているんです」と言ったら世界がひっくり返るようなことが起きるわけですが 実際に検索エンジンでは検索されたことをデータとして利用しています。IMEの例で言えば 最近よく変換に出てくる今まで出ていなかったキーワードを抜き取ることだけでトレンドが見えてきたりもするわけです。
固有名称で有れば注目されている企業や個人や商品なども。
あくまでも、今は「見ない振り」をしているだけなんですが それを理解できている人がどれぐらいいるんでしょうね?