Skip to article frontmatterSkip to article content

コンピューターサイエンス

法政大学

抽象化

抽象化(abstraction)とは、事物や表象を,ある性質・共通性・本質に着目し,それを抽き出す方法である。抽象化により、不要な性質を排除し、複雑なシステムを簡単に利用できるようにする。

現代生活では、自動車、スマートフォン、コンピューターなど、抽象化されたシステムが数多く存在する。これらのシステムは、複雑な内部構造を持ちながらも、ユーザーにとっては簡単に操作できるようになっている。

自動車エンジン

Figure 1:自動車エンジンの原理がわからなくても、自動車の運転はできる。

例えば、スマートフォンを使って、動画をみるときに、スマートフォン・インターネット・動画に関する技術について考える必要はない。ユーザーは、タッチスクリーンを操作するだけで、動画を楽しむことができる。

考えてみよう: 普段の生活で、三つの抽象化されたシステムを挙げてみよう。

コンピューターシステム

コンピューター(computer)とは,電子回路を用い,指示された通り自動的にデータの貯蔵・検索・加工を行う装置であり,電子計算機とも呼ばれる.計算機という言葉は,狭義では電子計算機を指すが,広義では計算を行う装置全般を指す.

コンピューターには,日常生活で使われるパーソナルコンピュータをはじめ,スーパーコンピューター,スマートフォン,タブレットなどがある.個人が利用するために設計されたコンピューターをパーソナルコンピュータ(パソコン,PC)と呼ぶ.パソコンは,デスクトップパソコンノートパソコンに分けられる.

下の図は,日本のスーパーコンピューター「富岳」を示している.

富岳

Figure 2:兵庫県神戸市に設置されている「富岳」 © Barsaka2, CC BY-SA 3.0

コンピューターは,ハードウェア(hardware)とソフトウェア(software)から構成されている.

ハードウェアは,コンピューターを構成する物理的な装置である。 一般的に,ハードウェアは、演算装置、制御装置、記憶装置、入力装置、出力装置から構成される.

ソフトウェアは,コンピューターを利用するためのプログラムの総称である.ソフトウェアは,システムソフトウェアとアプリケーションソフトウェアに分類される.

特定の仕事をするために作成されたソフトウェアをアプリケーションソフトウェア(application software)と呼ぶ.ワードプロセッサ,表計算ソフト,電子ゲームなどがアプリケーションソフトウェアの例である.

システムソフトウェア(system software)は,コンピューターのハードウェアを制御や管理するためのソフトウェアである.また,アプリケーションソフトウェアが動作するための環境を提供する.よく知られているシステムソフトウェアとして,オペレーティングシステム(operating system, OS)がある.Microsoft Windows,macOS,Linux,Androidなどがオペレーティングシステムの例である.

ハードウェアとソフトウェア

Figure 3:ハードウェアとソフトウェア

コンピューターサイエンスとは

A computer system is like an onion, made up of many layers.

N. Dale and J. Lewis, Computer science illuminated, 7th ed. Sudbury, MA: Jones and Bartlett, 2024.

コンピューターサイエンス

Figure 4:コンピューターサイエンス

抽象化という概念は、コンピューターサイエンスにおいて重要な役割を果たす。コンピューターサイエンスで、ハードウェア、プログラミングなどは抽象化されたシステムとして扱われる。それらを理解した上で、他の層との関係を学ぶことで、コンピューターシステム全体を理解することができる。

情報の表現

ハードウェア

プログラミング

オペレーティングシステム

アプリケーション

ネットワーク

CSと経営システム工学

コンピューターサイエンスは、経営システム工学と密接に関連している。

経営システム工学は、科学的・工学的方法論に基づく、コンピュータを用いて、企業経営を含む社会システムの設計・運用・改善を行う学問である。

経営システム工学においては、主な研究手法として

が用いられる。

経営システム工学の研究対象は,生産システム、物流システム、社会システムなど多岐にわたる。これらのシステムは、多数の要素が相互に作用し、複雑なシステムになっているため,分析や最適化を行うためには、大規模な計算が必要となる。

以下では、いくつかの経営工学において有名な問題と手法を紹介し、なぜコンピューターサイエンスの知識が必要なのかを説明する。

調べてみよう: 経営システム工学科のカリキュラムを調べ、コンピューターサイエンスのどの分野が特に経営システム工学において重要であるかを考えてみよう。