こんにちは!とり天です!
多くの社会人や就職活動中の大学生の方など、
“論理的思考”や“ロジカルシンキング”という言葉を耳にしたことがあるのではないでしょうか。
前回の記事では論理的思考とは何かを説明しました。
今回は論理的思考を知った上で、
自分の知識として使いこなすために意識すべきことをまとめています。
・知識の定着について軽く理解したい
・お子さんにプログラミングを習わせたい
手早く記事の内容を理解したい人は、
記事の要約をご覧ください。
1.論理的思考に求められる要素
1.1.学習における4つの壁
前回の記事では論理的思考とは、
・物事を構成する要素に分解し(=規則性を見つけ)
・適切な順番に組み立て説明する(=考えを分かりやすく示す)
考え方(能力)だと説明しました。
私の理解では論理的思考に限らず、
学習には4つの壁が存在すると考えています。
- 認知の壁:事実や考えを知る
- 理解の壁:知ったことを自分の言葉で説明できるようになる
- 実践の壁:覚えたことを実際に使う
- 定着の壁:習慣的に使う
前回の記事は “認知の壁”を突破するためのものになります。
今回の記事は
論理的思考における“理解の壁”と“定着の壁”を越えるためものになります。
“定着の壁”は実践を繰り返すことで超えられるため、
今回の記事を読んだ上で、以下にある習慣化の記事を読むことをオススメします。
1.2.理解の壁を越えるための要素
論理の段差に気付く(Why?と問いかける)
論理の段差に気付くとは、
会話や説明の意味が通らないことに気付くこと、
つまり論理の飛躍に気付くことです。
言い換えると、
議論の不明点にWhy(なぜ)?と問いかけることです。
ことわざ「ツバメが低く飛ぶと雨」を考えましょう。
このことわざは
ツバメが低く飛ぶときには雨が降りやすいことを意味しています。
でも、もう一度よーく考えてください。
雨が降ることって何か関係あるの。。。?
(なぜツバメが低く飛ぶと雨が降るの?)
もちろん、ことわざは論理的な説明をしているものではないので、
そのままでは意味が通らないことは当然です。
しかし、
論理の段差に気付き、
なぜツバメが低く飛ぶと雨が降るの?と考えることで、
論理的に思考しようとするきっかけになるのです。
つまり
論理の段差に気付くこと(=Why?と問いかけること)は
論理的思考の第一歩なのです。
論理の段差への気付きこそ
論理的思考の芽生えであり、
理解の壁を越える大切な要素になるのです。
論理の段差に気付くことは情報や考えを正確に伝えるためにも大切です。
例えば
「雨が降ったので遅刻した」
という文章を考えましょう。
「雨が降ったので」とあるので一見理由を説明しているように思えます。
しかし
雨が降ることがなぜ遅刻の原因になったのでしょうか?
- 雨で自転車が使えないのにいつも通りの時間に出てしまったから
- 雨が降ることで道路が渋滞していたから
- 駅のホームで転んで怪我をしてしまったから
このように
「雨が降る」と「遅刻する」に因果関係がないこと、
すなわち論理の段差に気付くことが論理的思考には必要なのです。
論理の段差に気付いて、
遅刻した本当の原因(自転車/渋滞/怪我など)を補足的に説明しないと、
相手は「?」となってしまうでしょう。
情報や考えを正確に伝えるためには、
- 原因と結果を十分に説明できているか?
- 相手に伝えていない重要な情報はないか?
会話をすることが重要なのです。
1.3.実践の壁を越える3つの要素
では、論理の段差に気付けるようになり、“理解の壁”を超えたとして、
次の“実践の壁”を越えるためには何が必要なのでしょうか。
ここでは
・論理的思考を実践するために求められるもの(1つ)
・論理的思考の練習として役立つもの(2つ)
を紹介します。
-
論理的思考を実践するために求められるもの
- 知識がないと始まらない
- 結論から話すようにする
- プログラミングのススメ
論理的思考の練習として役立つもの
知識がないと始まらない
論理的思考を実践するためには
「知識」が不可欠です。
知識が不可欠であるという事実を軽んじいる限り、
論理的思考を実践することはできません。
あらためて「ツバメが低く飛ぶ時は雨」について考えると、
・雨でツバメの羽が重くなるから?
・そもそも本当なのか?
など疑問が湧いてくることでしょう。
このような疑問は
因果関係の説明が不足していることが原因です。
不足している因果関係とは以下の2つです。
- ツバメが低く飛ぶのはなぜなのか?
- その理由と雨が降ることは関係があるのか?
それらの情報を補うと以下のように整理できます。
・ツバメが低く飛ぶ➡︎湿度が高いと餌である虫が低く飛ぶため
・低気圧で湿度が高い➡︎雨が降りやすい
よって、
ツバメの餌である虫が低く飛ぶ時は、低気圧で湿度が高いので雨が降りやすい
と言えるのです。
上で見たように
「ツバメが低く飛ぶ時は雨」を論理的に説明するためには、
- 雲ができる気象条件/雨が降る気象条件
- ツバメが何を食べるか
などの知識が求められます。
ツバメの食べ物なんて知らないよ!と感じる方もいるでしょうが、
・「利益を伸ばすこと」を考えるためには、利益とはなんなのか
・虹の原理を説明するためには虹とはなんなのか?
を知らないと論理的に説明することはできません。
もう少しだけ説明してほしいな。。。
Tips:犬の具体化・抽象化(もう少し説明が必要な方はタップで表示)
別の例でも考えてみましょう
前回の記事
で説明した
犬における具体化・抽象化を考えてみましょう。
犬を具体化して、「柴犬」や「チワワ」と考えるためには、
「柴犬」や「チワワ」などの犬種を知らないと始まりません。
和犬や洋犬と言った分類をする際も同様です。
抽象化においても同じことが言えます。
犬が
・動物に属すること
・動物の中でも哺乳類の一種であること
を知らない限りは抽象化をすることはできないのです。
また抽象化の分類としても、
「恒温動物」「ペット」などの分類もあり、
これも知識によるものなのです。
つまり、論理的思考を実践するとは、
自身の知識や理解を整理することに他なりません。
だからこそ、
整理するための情報=知識がないと何も始まらないのです。
結論から話すようにする
結論から話すことは
論理的思考の実践法の1つです。
他のサイトや本にも結論から話すことが論理的思考を鍛えるのによいと書かれたものがあり、
私も同様に有効な方法だと考えています。
しかし、どうして?と言った部分には言及しているものは少ない印象です。
“どうして?”の説明は必要だね!
私個人としても科学的根拠のあるものを読み込んでいる訳ではないので、
あくまでも元ITコンサルタントとしての個人的な意見ですが、
結論から話すことは、
コミュニケーションの目的を考える必要があります。
上司と話す際や旦那さんや奥さん お子さんに話しかける際にも、
・質問や相談
・報告
・雑談
など内容は多種多様です。
コミュニケーションの目的を考えるためには、
会話の具体的な種類を考え
考えた種類の中で自身の会話が何に該当するのかを判断しないといけません。
当たり前ですが、
会話の目的が何かを具体的に考えないと結論から言うことはできませんよね?
つまり、
結論から話す
=会話の具体的な目的を考える
=論理的思考の実践になるわけです。
プログラミングのススメ
結論から話すことは
論理的思考の実践としては有用だと説明しました。
ただ、
無意識に習慣的な行動を取ってしまうため、
結論から話そうと決意していても、ふとした瞬間に結論を言わずに話してしまいます。
そのため結論から話すことは実践に移しづらいという難点があるのも事実です。
また、お子さんに論理的思考を教えたい!理解して欲しい!場合にも、
知識の具体化や抽象化が必要な「結論から話す」は難しく実践向きではありません。
結論から話す以外の方法として、
・自分や周囲の考えを疑う
・シンプルに考える
などの方法も論理的思考の実践には有用だと言われています。
ただ上記の方法も「結論から話す」と同様に
論理的思考をある程度身につけないと実践するのが難しいと言うのが私の見解です。
また、実践ができるようになったと思えても、
・自身が論理的思考を身につけたと判断する基準が曖昧で
・自身の変化や成長を実感しづらいため
途中で飽きて長続きしづらい側面もあります。
論理的思考の実践を継続するためには、
・論理的思考を半強制的に求められる(必要だからそれを実践するしかない)
・上手くいっているかどうかを判断しやすい(論理的に考えらていると正しく機能することがわかる)
を満たしているものが効果的だと言えます。
上記の条件を満たす実践的なものとして、
プログラミングの勉強が個人的にはオススメです。
なぜプログラミングを推奨するかと言うと、
プログラム自体が論理的に考えないと動かないものだからです。
- プログラム自体が論理的に考えないと動かないため ⏩半強制的に論理的思考を実践しないといけない。
- 想定の動きをするかしないかの判断がしやすいため ⏩想定通りに動く=論理的に考えられている
⏩想定通りに動かない=論理的思考が十分ではない
と判断できる。
そもそもプログラミングって何かを教えて?
プログラムとは
順番に処理を実行し何らかの目的を達成するためのもので、
プログラミングとは
それを実現するための方法を考えることです。
ちなみに、Javaやphpなどのプログラミング言語は、
コンピューターに対して命令するための方法の1つです。
少しプログラミングの理解を深めるために、
プログラミングを擬似的に体験してみましょう。
Tips:擬似的にプログラミングを経験する(興味がある方はタップで表示)
次のような動きをする車があった際に、
元の場所に戻るためのプログラムを考えてみましょう
- 1辺が12cm の正三角形上(三角形ABC)を車が動く。
- 車は1秒あたり3cm 動く。
- スタートはAからは始まり、B→Cで進む。
- 角度は時計回り方向に考える。
まずは、
まっすぐ進んでAからBに進む必要があります。
そのためには12cm 前に進む必要があり、
1秒あたり3cm 進むので4秒間で進むことで12cm 進ませます。
そうすることで、AからBに進みます。
現状のまままっすぐ進むとBから端へと落ちてしまいます。 なので、次に方向を変えます。
では、何度回転する必要があるか考えましょう。
正三角形は各頂点の角度は60度です。
車の角度は時計回りに回転するので、
必要な回転角度は図の通り120度回転する必要があります。
これでBからCに進む準備ができました。
ここから先はA→Bに進むのと同様の動きを繰り返します。
- ①:4秒間直進する。
- ②:120度回転する。
- ③:①→②を3回繰り返す
- ④:止まる。
この車の一連の動きがプログラミングになります。
プログラミングとは、目的を達成するための一連の処理の流れであり
順序が狂うと正常に機能しなくなる場合があります。
例えば、①と②を入れ替えてしまうとどうなるか考えましょう。
- ①:120度回転する。(元々の②)
- ②:4秒間直進する。(元々の①)
- ③:①→②を3回繰り返す
- ④:止まる。
これではAの端から落ちてしまうだけです。
また、③において繰り返すのを②だけにしたらどうでしょう。
- ①:①:4秒間直進する。
- ②:120度回転する。
- ③:②を3回繰り返す
- ④:止まる。
これだと車はBで回転するだけです。
このように繰り返す処理が少なくなるだけでも、
正三角形の周囲を1周することはできなくなってしまいました。
プログラミングでは、
目的(今回は正三角形の周囲を1周する)を達成するために、
処理の流れを論理的に考える必要があるのです。
- AからBに到達するためにはどのような処理が必要なのか?
- なぜ処理が①から④の順番でなくてならないのか?
と言った、疑問を1つ1つ解決するために論理的に考えることで、
論理的思考が実践できるようになるのです。
処理の順序だけでなく、
モノの大小や正誤を判断して処理を実行する場合もあります。
判断が必要な場合には、
包含関係を定義・利用し、処理を実行することになります。
(例:100より大きい場合にはAを実行し、それ以外の場合にはBを実行する)
- 何を処理の判断にすれば良いのか(長さ?重さ?それ以外)?
- 選んだ基準で間違った処理がされないのか?
というように、包含関係の整理にも論理的思考が求められます。
記事のまとめ
・論理的思考とは、物事を構成する要素に分解する考え方と適切な順番に組み立てる考え方である。
・物事を構成する要素に分解するには抽象化・具体化と補集合の考え方が有効である。
・適切な順番に組み立てる考え方とは、順序や因果関係を整理することである。
・論理的思考とは自分の考えを整理して伝える能力であって、その考えが絶対に正しいことを伝える能力ではない。
参考にした本
終わりに
いかがだったでしょうか。
論理的思考を理解し、実践するための方法を紹介させて頂きました。
思考法は実践に移すことが難しい部類の習慣の一つではありますが、
自分のモノにできれば一生モノのスキルになると思います。
論理的思考の実践にプログラミングをオススメしました。
自身だけでなく、お子様をプログラミング教室に通わせたいと考えている方も多いのではないでしょうか。
次回の記事では、そのあたりに触れていきたいと考えています。
コメント