Skip to content

Instantly share code, notes, and snippets.

@kurubushi--rm
Last active March 24, 2022 10:04
Show Gist options
  • Save kurubushi--rm/a5e005e228db1d3cb4cef16e7ba7eb43 to your computer and use it in GitHub Desktop.
Save kurubushi--rm/a5e005e228db1d3cb4cef16e7ba7eb43 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pythonでブール代数アプローチをやってみた "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pythonで書かれた、fsQCAもできる、ちゃんとしたライブラリ\n",
"http://grundrisse.org/qca/\n",
"もあるらしいけど、お手製で"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ブール代数アプローチって何なのさ?\n",
"\n",
"ブール代数アプローチは、 Ragin(1989)によって、真理表とブール代数に依拠した比較分析の手法として、質的比較分析(Qualitative Comparative Analysis 略称:QCA)という名称で提起されたものである。\n",
"\n",
"※Ragin, C. C. (1989). The Comparative Method: Moving Beyond Qualitative and Quantitative Strategies. Univ of California Press.\n",
"\n",
"定式化/標準化されたアルゴリズムをもちいて論理式を縮約する手法は、従来、主に論理回路分析の簡単化(minimization)等に用いられてきたが、Raginは、この手法を社会現象の生起条件の分析に適用した。すなわち、質的比較分析では、複数の原因条件の組み合わせを比較を通じて体系的に絞り込んでいくために、分析対象の社会現象を生起させる条件を論理式の形で表現し、論理式の縮約によって簡潔な表現に変換することで、結果現象に対する原因条件の十分性/必要性を検討していく。こうした分析を通じて、社会現象が類似した結果へと至る場合に、それがどのような原因条件の組み合わせによって生じ得るかを体系的かつ実証的に明示できる。\n",
"\n",
"このアプローチは、Ragin(1987)の副題にあるように、計量的研究と質的研究、変数指向アプローチと事例指向アプローチを相補的に統合することを企図している。\n",
"鹿又・野宮・長谷川(2001)によれば、その特徴は、\n",
"\n",
"1. 社会現象の多様性と同時に因果関係の複雑性を分析可能であること\n",
"2. 論理的・体系的な比較ができること\n",
"3. 分析手続きが客観的であること\n",
"4. 数多くの事例が処理できること\n",
"5. より節約的で冗長ではないモデルを選択できること\n",
"\n",
"※鹿又伸夫,野宮大志郎,長谷川計二(2001)『質的比較分析』\tミネルヴァ書房"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## とりあえず数式をいじれるsympyを使ってみる"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"IPython console for SymPy 1.0 (Python 3.4.3-64-bit) (ground types: python)\n",
"\n",
"These commands were executed:\n",
">>> from __future__ import division\n",
">>> from sympy import *\n",
">>> x, y, z, t = symbols('x y z t')\n",
">>> k, m, n = symbols('k m n', integer=True)\n",
">>> f, g, h = symbols('f g h', cls=Function)\n",
">>> init_printing()\n",
"\n",
"Documentation can be found at http://docs.sympy.org/1.0/\n"
]
}
],
"source": [
"from sympy import *\n",
"init_session()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## クワイン・マクラスキー法\n",
"を使って、真理表から縮約した論理式をつくってくれる関数\n",
"SOPform\n",
"があるのでそれを使う。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The SOPform function uses simplified_pairs and a redundant group- eliminating algorithm to convert the list of all input combos that generate ‘1’ (the minterms) into the smallest Sum of Products form.\n",
"\n",
"http://docs.sympy.org/latest/modules/logic.html?highlight=sopform#sympy.logic.boolalg.SOPform\n",
"\n",
"(参考)\n",
"https://ja.wikipedia.org/wiki/クワイン・マクラスキー法"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## SOPformの使い方"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"minterms = [[0, 0, 0, 1], [0, 0, 1, 1],[0, 1, 1, 1], [1, 0, 1, 1], [1, 1, 1, 1]] \n",
"dontcares = [[0, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 1]]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAALoAAAAWCAYAAAB30IZkAAAABHNCSVQICAgIfAhkiAAABZJJREFU\neJzt2nuMXVUVx/FPW+hISkHoDKkFaS2BVgEDUp5WXqb6RwHBRjvWCiQEgkJRRAiv6MRXKTaAWtDy\nCAjYGsBHokLBFoGhEP/gJYaAlIKPRKSWACGEARH/WPd4z5w5594zM3funcbzTSZzz9777PO7e++z\n1tprXyoq/g+Y1GkB2yAz8Db+3WkhFbl0owtvpgsntlHARsxp4/PS/BY7lWh3K3ZvUL8TFskM4ijp\n5Li0gvGmfyu+gu3KNP4APtTCh8/H8/hBC/ucgE+XbHs+zmnSZg/0N2nzDexY8pllGItxaSfjVf9s\nfLVZoz1xUYsf/DMcgT9p7UJZiC+VaLcrHhUvRxHfxtIG9T1YXl5aKcZqXNrFeNZ/vSZW/Ta8p4UP\nfJ9wb3CJcgtzOHwfB5ZodwMWFNRNxpO1/0UsxfHDk9aQsR6XsWa86z8XRxVVfgYXZspm4Ycizl2S\nqTsL65s8sA+n1D734JFyOv/H6dgiFuL+tbLl2Lf2eU/8pkQ/B+BXBXVL8Z0m91+DmSPUmEef0Y3L\ncJmLq8VY9Wbq7lCf993wgqHrIEuf9uqHg4RhuwK/EJ76IqwQ+6u9Um2PESFrLuvx/kzZNcLSfRl/\nzNT9QbivIrYXk5/2EDfj2Ab3pDkaD4jY+DKswYOGTkK/2Fc04z75i/VBQ793ll9iyig0phntuAyX\nSVgtXHl2HnfGO+qLdhpexF0N+mu3fiLuvlo9gXIT/ixCp4/iPzgv1f7DWJXX0VRsypTNV7fid4k3\nP2GKSLN9sYG4z4nJT3OIeBvLsI/BcdZnxZubzRZ9C2eX6K/X0Dh7nsHfq4h75Md8ZTWmGc24rBEx\ncbO/F4R1hhPEfgbW4fZUfwvxrsGGYgluGUf6CYM7NXV9uzC0hJFaKV7ShL1xbZ6Aw/C7TNl0kZPc\nXbz1J6XqFogBauSeH5BvQTdqbkGznCYWUN5iO1VsPpqxPZ4Q3ynhJ8LNNWOtwQOZRyONaVo5LkXc\nJMJOtT63q/1/B8el2q3AXzP3HoFlDfput36Geuy/axxuzsN3k4u01ZmOVzKNX8SAsFKv485U3cfw\nLzxV8KAD8TL+klP3Y409QZYLcDBOln9Qs1Xob8bbIgRZXLvuxn74fYl7N4nDopFqTGjluJTlbzVN\nn8eruDtVdyTuz7Q/2FCjl9AJ/UQaM2GOML6N5m0Gnk0u0gu9SyyEPD5Z63QgVXakiI3fLbhnmYip\n8rhNuNOugvo03xRx5JkiDoNdMm0GlD/lXY0zap9PF9mYMtyLw0ehMaFV4zISPoEN6vM8CR9RDwES\n9sPTBX10Un/CsXgLD6XKZmfaHCbmDIMX+ktiF5vHTDyTuu7CocKF5bGrePOLMjIDIgOyuKA+oU+8\nSJekyuaKjV+aafhnk74S/iHc3uEiFr255H39YoMzUo20blxGynRszlxPzpTNMXSvltAp/TvgcvWM\n1gKxoX6jdj0RX0u1n4D3yvc6ZuHxggetw3Wp6yvF5Bblry9Q7iRyY4P6E8UG+CzhEi/Gj8SkZOPD\nc/H1Js9LMx/PGf6JXq+wgCPRSGvGpSzzDD0XuAU/z+jZqu7hkuxMXnYpad8J/YvEeusVRuRJkdlK\nuFQY3oRPidC6kKfk/yZkbq3jVeLN6hfxfFFm4c6CfrL8VAxMlqkid5+cZF6I1/BwTUuWO4SrGg4j\n/Y3GaSKtNlyNjH5cRku3yHrcKPLRJ4qN5wZcJb5PkXY6p79baP6eWH9TRBJhtTBWH0+17VHCoyw3\nOLOSx0SxSS3r8seayXhMe3+gVrGNswt+nSlba/ABw0liI/DBdolqwpn4QqdFVGx7LBEHAglbhEsj\nUjabRZpqPNAj8taNfqxVUVHIyeoZhkXiFGylWFSHFt3UZiaIeK0oU1RRUVFRUVFRUVGxLfJfPu8/\nbwHgCokAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\left(y \\wedge z\\right) \\vee \\left(z \\wedge \\neg w \\wedge \\neg x\\right)$$"
],
"text/plain": [
"(y ∧ z) ∨ (z ∧ ¬w ∧ ¬x)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w, x, y, z = symbols('w x y z')\n",
"SOPform([w, x, y, z], minterms)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAI0AAAAWCAYAAAD9/x8lAAAABHNCSVQICAgIfAhkiAAABMxJREFU\naIHt2WeIXUUUwPFfiokQE1tWYhIrllhRSUwMsYLmQ1SMYltjAQv2BoqSDwZbVPxgWcWIEnuJooK9\nl1XEDyoWgqLY0VgiUfzgGqN+OO+58+7e+97dfS+7St4fln0zZ+7MuWdmzpwzlzZt+smIoVbgf8hE\nrMSfQ63IIDAeo/F7Wjl8EBV4A9sO4ngpT2JciXb3YFId+TgcJmPEJhlKuzRiOc7FyDKNt8D2LRx8\nFj7HDS3scxgOLdn2ApzdoM1kdDdocwnWKTlmGVaHXVrNlji/UaNNcXGLB34AM/Gh1hp9Dk4v0W4D\nvCMWWhGXY14deQcWlletFKvLLq3mNg28zRKs3cIBNxYuGOYrN8n94XrsWqLd7di/QDYKH1T+FzEP\nB/VPtbqsbru0kvOwd5HwcFyUqdscN4q4oDMjOwMvNBhwAY6v/O7A2+X0/JeT8aOY1J0qdQuxQ+X3\npniiRD+74LEC2Txc0eD5m7HZAHXMY4Hm7NJfpuAmYaujMrKH9c77RvhC7TrYVxzxubyATTJ1N4sd\neA7ez8jeEi62iLWEIVPPdRf2q/NMyj54TcQSV+E+vK7vwu4WcVgjXpE/8a/r+95ZHsWYJnRMadYu\n/WUEFokjJjuP62KV3gW8IZbh6aTNzujK63gsPs3UzdLrXZ4WK7LKGJF6nlZH2aOFIVN2xyN1nknZ\nRu1ZeoTIcLJZ32U4s0R/R+kbl0xV+15FPCf/XC+rY0ozdrlPxECN/r4QXgMOFvEfPIOHkv7m4G+1\nm64TdyflrXFrnjIz8HymboLI0yeJ1Tg3ke1fGayeC35N/s5+Q+OdneVEMRl5E3eCCNYasRbeE+9U\n5U7hfhtxv9iF9ainY0or7VLEHSK0UOlzZOX/KhyYtLsaX2WenYmzkvJUXFktpLthAlZkHl6GHrF7\nfsNTiWxP/ISlBUrvip/xZY7sFvU9VJYLMQ3Hyb9UWy70b8RKccwcWSmPx454ucSzn4qLvYHqWKWV\ndinL1xWdjsEveDaR7YVXM+2nqXUgE/FJtZAumtHCqHnMFobtyQzWLbxNHmeJwCuPJcJlji6Qp1wq\nzt1T8Velbv1Mmx7lb7cX4ZTK75NFVlWGl7BHEzpWaZVdBsIBeFHvPI/AbiI2TdkRHyXlGeL9Ubto\nfhD3GXlsho+T8mhMF242jw3EjirKrHpEJnNkgbzKArEo5yd1U0TQmbIhvm/QV5Xv8I1YAJ0iAC1D\ntwgIB6ojrbPLQJmAzzLlUZm6bdXGtsOwnsQzpmfv54pd/JdqF9RVIvLPurUqJ2GxYi9EuOIHFU/a\nIWJhPlFp+5U4k2frG4NkjdGILhF7PCmO3TL8KbKi3cRFYX91pDV2KUsXvs3UvY2tkvIx4qicXCmP\nELe/6Q3wwSKeK2Sp/G80U4TBunCN2HUrFGcITxX0k+XeROGUseJuqHqDexF+xZsVXbI8LFxofxjo\nN58TxYbpr440b5dmGS+yr8XiUvQQEfS+iOvE+6S6dyjh9RaqzZDyGC4C5GZ3QqsYhXcN7sfXNgnr\n4/FM3f1qL4Pm4g9sN1hKNeBUHDvUSqzpdIrLpyo/CrdFpF6fibPwv0CHiE3qfYhsM0gcpzdTOEwE\nvteKCZo+VEplGCbiq6KMr02bNm3atGmz5vAPO/kH8xC0qGcAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\left(y \\wedge z\\right) \\vee \\left(z \\wedge \\neg w\\right)$$"
],
"text/plain": [
"(y ∧ z) ∨ (z ∧ ¬w)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#dontcares項を考慮した場合\n",
"SOPform([w, x, y, z], minterms, dontcares)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ブール代数アプローチを実演してみる"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.一揆の条件を探る\n",
"\n",
"野宮大志郎「民衆の反乱と社会変動:歴史データへの応用」 (in 鹿又伸夫,野宮大志郎,長谷川計二(2001)『質的比較分析』 ミネルヴァ書房、第5章)\n",
"の一部を「再演」してみる"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### データの読み込み\n",
"\n",
"以下のデータは、江戸時代の一揆が起こった事例について、「コレラが発生していたか」「政治的大事件があったか」「(飢饉や米価高騰などで)経済的不安が生じていたか」の条件のセットごとに集計したものである。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>コレラ</th>\n",
" <th>政治</th>\n",
" <th>経済</th>\n",
" <th>暴動あり</th>\n",
" <th>暴動なし</th>\n",
" <th>暴動の有無</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" <td>57</td>\n",
" <td>?</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>?</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>?</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" コレラ 政治 経済 暴動あり 暴動なし 暴動の有無\n",
"0 0 0 0 6 57 ?\n",
"1 0 0 1 1 2 ?\n",
"2 0 1 0 1 0 1\n",
"3 0 1 1 4 3 ?\n",
"4 1 0 0 0 1 0\n",
"5 1 0 1 1 0 1\n",
"6 1 1 0 0 1 0\n",
"7 1 1 1 1 0 1"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv('一揆の条件.csv')\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 暴動が起きたパターンだけを抜き出してみる"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>コレラ</th>\n",
" <th>政治</th>\n",
" <th>経済</th>\n",
" <th>暴動あり</th>\n",
" <th>暴動なし</th>\n",
" <th>暴動の有無</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" コレラ 政治 経済 暴動あり 暴動なし 暴動の有無\n",
"2 0 1 0 1 0 1\n",
"5 1 0 1 1 0 1\n",
"7 1 1 1 1 0 1"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"true_condition = df[df['暴動の有無'] == '1']\n",
"true_condition"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 条件だけを抜き出す"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>コレラ</th>\n",
" <th>政治</th>\n",
" <th>経済</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" コレラ 政治 経済\n",
"2 0 1 0\n",
"5 1 0 1\n",
"7 1 1 1"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"true_condition = true_condition[['コレラ','政治','経済']]\n",
"true_condition"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### SOPform用にpythonのリスト形式に変換する"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAVcAAAAWCAYAAAB0Qt9lAAAABHNCSVQICAgIfAhkiAAAAzNJREFU\neJztnL1rFEEYhx8NfpBgVBA7sVAJWoggIpZa+Q9YaWcpiiBaWG1naSUKWhzYKIiNBAyCbilYKCoi\nNqKIENKIEhCJxGL2ZJ3M3u7czu68c74PhGVm7nYefu9mMrdhDxRFUZTgrLPaj4GfwBPghqMNMAdc\nAz4Bq8AO4DKw2INvHdPAc+BgbBHqc7oAnAA2AydjCOKu75CUsoxFVUYSagvp1HeINCef+tbWPK9p\nbwW+AGdKfVeBt8BGL+3wHAFeYH75YuOTU96Tk4uquVPNsk+aZJT3o+I9v6T6DpHmNG59//at95zw\nCuaCvlfqu4XZWZz1PFco9gPzwDngdyQHG4k5NUGzrEdiRk2R6C7NqTOfvKb9AXjkeN8b4GlIkTEZ\nIOMvn09Oeec21Yyae0B6WfbNgDR3riCnvmUGyHIa0NPOdQuwD/jsGPsKHPY41ySjOYVDs1SSxWdx\n3V0cvzvGloFZYFNro/TRnMKhWSrJ4rO4zhbHX46x5eK4rZ3ORKA5hUOzVJLFZ3Ed3tx13YPYUByn\n2ulMBJpTODRLJVl8FtelEWMzxfFHC5dJQXMKh2apJIvP4rqI2UFsd4zNAN/QCx00p5Bolkqy+Cyu\ny8BLYJdjbC/wKohR+mhO4dAslWTxfYhgHjjKv4/N7sFc/A+s185hHgWTRF9OPjm5kJidjcQsNbdw\nSPSU6FSJ7+J6E/NxrPwo4nngHXC71HcceA/cbWXnzzD4acdYn05Nc3IRKzub1LKMkduojFxIqS3I\nqW8ZaU6+9R1JXtMGOITZTVwH7gAPWfux7QDmnxEfQ0jVsBNYwDxrvlr8LAHPgNORnKBZTrA24z49\n7blTzrIvp6YZQdzauuaXWF9pTm3qW9XnHKh8YUOylu/vgiy2gEVe0Z9FnLspWQCH0GSxBUrkFf1Z\n5PmbkgVwCE0WW6BEPqrP97aAL7G/KcuFRCcXKXhKdJToZJOCI8j0lOjkpMvF9RjwusPzj4NEJxcp\neEp0lOhkk4IjyPSU6FSJvbiuYL5g92JFuylTwCngfiu7sEhzuoTJdsXq79NT69sNEmoLWt+ucNW3\nquaKoiiKoiiKoiiKovx//AHFziZGOZkZEgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left [ \\left [ 0, \\quad 1, \\quad 0\\right ], \\quad \\left [ 1, \\quad 0, \\quad 1\\right ], \\quad \\left [ 1, \\quad 1, \\quad 1\\right ]\\right ]$$"
],
"text/plain": [
"[[0, 1, 0], [1, 0, 1], [1, 1, 1]]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"minterms1 = true_condition.values.tolist() #データフレームから.valuesでnumpy配列に、.tolist()でnumpy配列からリストへ\n",
"minterms1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 条件のセットを真理表としてクワイン・マクラスキー法で縮約する"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAMkAAAASCAYAAADxP/rpAAAABHNCSVQICAgIfAhkiAAABRxJREFU\naIHt2nmIHEUUx/FPslkVbzfeUeNt8BbPhGg88A9PUMSLqKBEjHiBxhNR8ED0DyWoJKgYJZpVPKIQ\n7zuJeIvGIxrUqCDeGtF4H39UN1vb2z3ds9M76x/zhWFm6lXV/Oa9N9WvqocOHTo0ZEROWzfGYGnB\nmO1wEsbjd/yAH3F1MmYWLsCXtSoNjMRD2BLj8AtexD+JvQvrJxpHYC98mGhsF0X+m5Po2gHLsVDQ\n3YX18CtuSPr9HxnOuA+WIcmXUbgMK+fYVsct+AyTsWJkWwcP4HYsriB+Ibap0K+IffEvriiw7ygk\n4hhcg1VL5psnfL8yZidzFtHIf7C9oPu6HNsxie2MEg2t+q5Z6ow77ddPzflybjIgy2Z4T/gVji4Y\nOy4RcmOJ4In4BNNL+jXi0uSzJjXo87CwOmyA60vmm4azSvpshPklfYr8lzJV0H1Igf1bIRmLqMN3\nzVBn3Gm//pTa8mU13J/T3oMPsARrlYhZjCNK+vRiAt5RvsIX8ZRQnsSrWndmvjhoM7Fpg/l68Ib8\n8jPlSmElLaLIfzG9wqV+zRzbSGE1+7FkfKu+q0rdcae9+mNqy5cjcV5O+xzhV3hABTHz5SdAygbC\n5RYuwekV5szSLdSWT2faj8OB0fv49dE4v2Te2zJjYlbAouS5iCL/xXyBtwtsewl+nldgr8N3zVBn\n3Gm//pRa82W6gZejPQVHvVBR0DEl9suFzR+hnn294rwx4xNNl0ZtPXhV8eq0ubCBa8TOmFtgm4yr\nSsbn+S9mK0H3zQX2XvwkbCLzuFzrvqtK3XGnvfpjas2XBwwM0MzkA04a2L1puoXVeKWo7U7s3+Q8\nFySaXsZjeAV/JM9FrJF8dhnPYWxO+wJsXDI2z38xpwi6j8+0r4ZrhZJl14KxdfmuKnXGnfbrj2k5\nX0ZFhlWEo72Y9EtkL1WD4SihlPgtarsRF+KZJuaZJHzJSdFcU7B1gzHLNS6VUmbgNFwUte0mHGt+\nXjI2z38x6VXmUOyTvO4SYvCEUIL8WTC2Fd/drfFhQsqq2ANfqzfutF9/TK35Mhu7Z9p+xc8VBBLK\niUa8IH+VXqh8lU7pwjJ9tW3K0Tgser8TNoner6v8ZIqw4r2l/wbvDuxXYWye/2KWGhjAqtThuzJm\n6dus1hl32q8/pZZ8GRkZFgvHnDHLhDq5jJE4u4F9F3yPT3NsM4Sj0SrsLJzbZxP+NeEEI2Uqvore\nb6zaOf6feFBfjb22cG/j2Qpj8/yXMjZ5PF9hnix1+a4Z6oo7w6M/pZZ8iX8kj2LvzGQvCZusVUrE\nTBU2nkWciZsKbPficP1X7yLSMmVBpv1jYfWDLYQgx6XPROH7VWEmTk1eTxFOvaqQ57+UVPdzFeeK\nqct3zVBX3Bke/SlDki9zhJIjZW/8rfGNtgNxcQN7D95Ufg/ixAb2lLnCfYaic/sRwqlEtt68R3OB\n6BVORRZp7jw/67+UW4XNY6ONfR51+q6MWfrKlTrizvDpTxmSfNkDJ2fazhHq0xP0v/KMFo7VphXK\nDpyv2t3sbN2YZRS+w7sF9vWF/UN2s3kwji2ZO8tEfKT5O8N5/pPM9U2Tc1Gf76qwm/6b1VbjzvDq\nH9J8OQjbZtomCJfG1/E47hP+jJftl8cjqv0v6i75Nf04oX5cIqzGyxINjyWPZ/E+/krsR0VjNxSO\nXgfDYP9jlPpvQzwp/K3jX+Fy/rxqyZXSqu9apZW4Mzz6hytfOnTo0KFDhw4dOgyO/wBxEX80muTx\nCwAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left(C \\wedge E\\right) \\vee \\left(P \\wedge \\neg C \\wedge \\neg E\\right)$$"
],
"text/plain": [
"(C ∧ E) ∨ (P ∧ ¬C ∧ ¬E)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"C, P, E = symbols('C P E') #コレラ、政治的要因、経済的要因にそれぞれC、P、Eのラベルをつけておく\n",
"SOPform([C, P, E], minterms1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"縮約の結果、暴動が起こるのは\n",
"+ コレラが発生(C)し、かつ経済不安(E)がある場合\n",
"\n",
"あるいは\n",
"+ 政治的事件(P)が発生するが、コレラの流行(C)も経済不安(E)もない場合\n",
"\n",
"のいずれかである、ことが分かる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### どっちもある条件を再考する"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"暴動が起こりうる条件を得るために、条件を緩めるべく、「暴動あり」「暴動なし」の両方が起こった条件のうち、「暴動なし」が大勢を占めるケース0以外を含める。"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>コレラ</th>\n",
" <th>政治</th>\n",
" <th>経済</th>\n",
" <th>暴動あり</th>\n",
" <th>暴動なし</th>\n",
" <th>暴動の有無</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>?</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>?</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" コレラ 政治 経済 暴動あり 暴動なし 暴動の有無\n",
"1 0 0 1 1 2 ?\n",
"3 0 1 1 4 3 ?"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plus_true_condition = df.query(\"index == [1,3]\")\n",
"plus_true_condition"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAWCAYAAABAHklQAAAABHNCSVQICAgIfAhkiAAAArFJREFU\neJztmzuLFEEQgD+988EdnnqIICIGKocIBj4QMzXyD5jpDzARQUyMNhFTEzODBREUzUQQBJlQMFB8\nJGYnoqwaiLIgeqJBz8Js0zO7tTPTUw31JU1X70x/VG0ts7d9YBhGJ6zz5k+AX8BT4FZgDrAC3ABW\ngX/ADuAqMIjgW4ZGpxELwHPgsBe/BJwBNgNnY0vlpFLfEWW57ApJbSfWO5sw3wp8BM4XYteAt8BG\nkXZzaHQacRx4gXsTl5HFUZlq79RzGZNZaxuKBRf8+XXgCzBfiC0Df4CLFRJtotHpIPAY6OM+GVNp\nvtRzGYO6tQ3Fggv+/D3wKHDdG+BZhUSbaHQq0ied5ks9l7HpU6P51gs22gIcAD4E1j4BRwX3agqN\nTqliuYyMpPn25uOPwNoQWAI21TaSodEpVSyXkZE031I+/g6sDfNxWz0dMRqdUsVyGRlJ8/3Nx9Az\n7oZ8nKunI0ajU6pYLiMjab6vFWuL+fizhsssaHRKFctlZCTNN8B9Km4PrC0C34lfHI1OqWK5jIyk\n+YbAS2BPYG0/8KoRIxkanVLFchkZSfOB+3HxBOPH0vbhCvbQe+0K7ihN22h0qktXnqnnUqPT1GQT\n5rtwjx8XCrGbwDvGjx+dxj3CPGhWL4hGpyL38n0XStYzbx7T09875Vx24SSt7VhsPrBYxWfgFO4Y\n0hHcD7PLuIOixT9RD4BvwDHh/WdBo9NO4A6wGziUx1ZxZyRvA3crro3p6ZNyLmM51altJdmEuZRe\nzevboNe1gEdWEu91uPe09BpwaJpe1wIFsqqY9DuflK5PwofQ6BQiBU+NjhqdgrTZfCeB1y3efxY0\nOoVIwVOjo0anUvzmW8P9g+Xlkvm0zAHngPu17JpFm9MVXG7XvHhMT6tvO4RqW1ZvwzAMwzAMw2iT\n/xgS6lSjMRRGAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left [ \\left [ 0, \\quad 0, \\quad 1\\right ], \\quad \\left [ 0, \\quad 1, \\quad 1\\right ]\\right ]$$"
],
"text/plain": [
"[[0, 0, 1], [0, 1, 1]]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plus_minterms = plus_true_condition[['コレラ','政治','経済']].values.tolist()\n",
"plus_minterms"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGsAAAASCAYAAABckiAFAAAABHNCSVQICAgIfAhkiAAABCNJREFU\nWIXt2HmIV1UUwPGPM05FLtXYoqbZZom2GJmlaLbgH61QiFZYQmFktEHZihW0EPVHIRZKRRqWFmUW\nWLa7RosWZYshlhVEexqllpX9cd4wv/n57u+9WYKC+cIwv3fOufeed9+955x76eR/Q5ccWR2excEY\nhN/wBv7O9PXojSFZ+2Ow6l/yrwH7YkOVfF42/uHYjJWZf/XYB1twX2b3X2QIJmEEfsfP2Ig7xbvO\nxs34JdMVcgK247aE/ggxUX2q5IvQs0T/c8WHSNEVt2DXhP6wzL97cnQTMt1lBT6sxKEFNh1JTzyI\nLzERO1fo9sICPIK1YtPche5lOp4mXnhMDZvn7Lg7p+KKgr77YXmBzdViQaSYkvl3WkL/g5iUFKPw\nOaYX+NFRHICPRZTqlbAZJN5pRvbcB/eW6fwVEU4qv36Dll96hh1pxLvyQ2wTt4uVlaIHni7wb74I\nfbvn6OrErt9Y0H4kPlRy9baDRnyKddijwHYtzqp4noX9azVoELnq1Sr5uRhb8TxWPg/X0O2ENdn/\nFGfjmloO4mt8kNAdJ1boooS+jwiBcBMuLRirvczL/Dm5hO1yLRfgeFxbq8GIrPNpFbJGvKPcKhyK\nhQndRNxR0H662uF3YObfAwn9fJGchyT0t4oET+SK1QX+tIdjha/LStpPqHo+UBR8Sa7LBngLi/E2\n/sj+l2UJBuTIV6B/QdsF0hMNF2X+nVcl74G7RSg5OtG2QezsXSpkj+KkAp/ayizh66QiwwS7CX91\nTRiMER9nDLZmssk4pBWDzMQluKFCNgzf4KuCtt1ESZuiadedjuOz3/XifV4SoW1bou04ER63Vshm\n4Hq8VuDX42oXPU10x3B8p3kRVKeUsmxWI2XUY5PmmN7EeJxR8Xwk9qsxSAPe17JAmYMTSzg4V5zf\nUmwQE9EWlsnf8SsV7/iyzNZcFGzBryXbDcyR7S2rnOtylEPFeaC6tF4lKsQmpuDbGgNvwzOaY/Ce\n4mz0eqHLEcb6JXQDsr+lJfqp5ij8hC9ydDPFO3U0m0T+LKIOV+bI+4v5yP1YTWFlRZX8M7FK4KDM\niVqhiojXF2e/J4sqsQwvYHRC1+TfkpJ9VXI57k/onsSZWkaCjuBNUcR0K7CbIgqjakaJ+chloTi/\npM4DXUR1UjZ/zRfV5RqtO8/ME6G0modEwq5VgOTRiPcUn/8uaGW/eczWHAZH4y+1LwrG4saE7gmJ\nBdQVP+KjRMPeIu+0JlmOwnqtvykYjgtz5OvxfSv7Is4qZW5WqnN1WximZVFwlchb52sZzXqJ49HU\nRD+n4pxq4SCRj9aJVbsJL4qyfbHIM5/gz0w/rpXOt/UO7hQMRl+8LK5rtovwu1T6JfN4Xrk7y8ek\n82V7GClC7Woxt0+Jy+bBCfu+4ojSSSeddNJJ8A8bQtSFdwZM3wAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$E \\vee \\left(P \\wedge \\neg C\\right)$$"
],
"text/plain": [
"E ∨ (P ∧ ¬C)"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"SOPform([C, P, E], minterms1 + plus_minterms)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"縮約の結果、暴動が起こるのは\n",
"+ 経済不安(E)がある場合\n",
"\n",
"あるいは\n",
"+ 政治的事件(P)が発生するが、コレラの流行がない(¬C)場合\n",
"\n",
"のいずれかである、ことが分かる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.退学の理由を探る\n",
"\n",
"片瀬 一男(2005)「退学者動向・調査報告(1)教養学部の場合 意欲があって大学を去る者、意欲を失ってやめる者--二つの不幸な退学理由へのブール代数アプローチ」 東北学院大学教育研究所報告集,5,pp.43-69\n",
"\n",
"の再演"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1~2年次の退学理由について,真理表を作成した(表2.1)から"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>入試類型</th>\n",
" <th>学業不振</th>\n",
" <th>継続意志</th>\n",
" <th>経済的条件</th>\n",
" <th>事例数</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 入試類型 学業不振 継続意志 経済的条件 事例数\n",
"0 1 1 1 1 1\n",
"1 1 1 1 0 10\n",
"2 1 1 0 1 1\n",
"3 1 0 1 1 0\n",
"4 0 1 1 1 2\n",
"5 0 0 1 1 0\n",
"6 0 1 0 1 1\n",
"7 0 1 1 0 6\n",
"8 1 0 0 1 1\n",
"9 1 0 1 0 1\n",
"10 1 1 0 0 5\n",
"11 0 0 0 1 1\n",
"12 0 0 1 0 2\n",
"13 0 1 0 0 10\n",
"14 1 0 0 0 4\n",
"15 0 0 0 0 11"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv('退学の理由1.csv')\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** 入試類型 **\n",
"1:指定校推薦・スポーツ推薦・キリスト教者推薦・AO入試 /\n",
"0:学業推薦・一般入試\n",
"\n",
"** 学業不振 **\n",
"1:在学期間の単位取得率(取得単位数/履修単位数) 27%未満 /\n",
"0:同27%以上 ※\n",
"\n",
"※1999年以降の教養学部の退学者88名の単位取得数の中央値は26.92であった。そこで,履修率27%以下を 学業不振者と操作的に定義した。\n",
"\n",
"** 学業継続意志 **\n",
"1:なし /\n",
"0:あり\n",
"\n",
"** 経済的理由 **\n",
"1:あり /\n",
"0:なし"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"「退学の生起という現象の判定にどのようなカッティング・ポイント(退学事例がいくつある場合に、退学現象の生起と判定するか)によって,結果は異なる」ので、カッティング・ポイントを引数にして縮約結果を返す関数minimizeをつくってみる。"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def minimize(cutpoint):\n",
" label_list = ['Exam','Achieve','Intention ','Finance']\n",
" true_case_df = df[df['事例数'] >= cutpoint]\n",
" minterms = true_case_df[['入試類型','学業不振','継続意志','経済的条件']].values.tolist()\n",
" return SOPform(label_list, minterms )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2事例以上存在する条件"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$\\left(Achieve \\wedge \\neg Finance\\right) \\vee \\left(\\neg Exam \\wedge \\neg Finance\\right) \\vee \\left(\\neg Finance \\wedge \\neg Intention\\right) \\vee \\left(Achieve \\wedge Intention \\wedge \\neg Exam\\right)$$"
],
"text/plain": [
"(Achieve ∧ ¬Finance) ∨ (¬Exam ∧ ¬Finance) ∨ (¬Finance ∧ ¬Intention) ∨ (Achieve\n",
" ∧ Intention ∧ ¬Exam)"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"minimize(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"+ 学業不振であり、経済的な理由はない\n",
"+ 学業推薦・一般入試であり、経済的な理由はない\n",
"+ 学業継続意志はないけど、経済的な理由もない\n",
"+ 学業不振であり、学業継続意志はあるけど、学業推薦・一般入試\n",
"\n",
"のいずれかの場合に退学する、ということになる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"しかし、上の3つの項目は、まだまとめられそうだ。"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nQ1Dra5DiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\left ( Achieve \\wedge \\neg Finance, \\quad \\neg Exam \\wedge \\neg Finance, \\quad \\neg Finance \\wedge \\neg Intention\\right )$$"
],
"text/plain": [
"(Achieve ∧ ¬Finance, ¬Exam ∧ ¬Finance, ¬Finance ∧ ¬Intention)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"minimize(2).args[0:3]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"で、前の3つを取り出して、Orで繋ぎ直せばいいのだが、Orはどうやら2つの引数しか取れないのでreduceで強引に"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$\\left(Achieve \\wedge \\neg Finance\\right) \\vee \\left(\\neg Exam \\wedge \\neg Finance\\right) \\vee \\left(\\neg Finance \\wedge \\neg Intention\\right)$$"
],
"text/plain": [
"(Achieve ∧ ¬Finance) ∨ (¬Exam ∧ ¬Finance) ∨ (¬Finance ∧ ¬Intention)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#from functools import reduce #Python3ではreduce関数はfunctoolsというモジュールに移動しました\n",
"reduce(Or,minimize(2).args[0:3])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"これを連言標準形(Conjunctive normal form, CNF)に直してから、simplifyで整理し直す"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nOAAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\neg Finance \\wedge \\left(Achieve \\vee \\neg Exam \\vee \\neg Intention\\right)$$"
],
"text/plain": [
"¬Finance ∧ (Achieve ∨ ¬Exam ∨ ¬Intention)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simplify(to_cnf(_))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"つまり、いずれも経済的困難がないけれど、一般入試・学業推薦か/学業不振か/学業継続意志がある、いずれかの場合"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 5事例以上存在する条件"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$\\left(Achieve \\wedge \\neg Finance\\right) \\vee \\left(\\neg Exam \\wedge \\neg Finance \\wedge \\neg Intention\\right)$$"
],
"text/plain": [
"(Achieve ∧ ¬Finance) ∨ (¬Exam ∧ ¬Finance ∧ ¬Intention)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"minimize(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"+ 経済的理由がないけど、学業不振\n",
"+ 経済的理由がないし、学業継続意志はある\n",
"\n",
"のいずれかの場合に退学する。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 8事例以上存在する条件"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nQmCC\n",
"text/latex": [
"$$\\left(\\neg Exam \\wedge \\neg Finance \\wedge \\neg Intention\\right) \\vee \\left(Achieve \\wedge Exam \\wedge Intention \\wedge \\neg Finance\\right)$$"
],
"text/plain": [
"(¬Exam ∧ ¬Finance ∧ ¬Intention) ∨ (Achieve ∧ Exam ∧ Intention ∧ ¬Finance)"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"minimize(8)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"+ 経済的理由がなく、一般入試・学業推薦で入学し、学業継続意志がある\n",
"+ 経済的理由がなく、指定校推薦・スポーツ推薦・キリスト教者推薦・AO入試で入学し、学業不振で学業継続意志がない\n",
"\n",
"のいずれかの場合に退学する。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ipywidgetsを使ってカッティング・ポイントを変えられるようにした\n",
"\n",
"せっかくコンピュータの上で、しかもJupyterの上でやっているので、スライドバーでインタラクティブにカッティング・ポイントを変えられるようにしてみた。"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmgAAAASCAYAAADvySLHAAAABHNCSVQICAgIfAhkiAAADKpJREFU\neJztnXm0V1UVxz8P3g8zHIgQRU0JNMzpZbxIBBFSocFk5YDaoDiUaS4ZTAkXZisryyHKwsRSny5U\nyKGcUAQSTSo1S1FXg7XUsiyzEs1yQOmP77nrnjufO/h+Dz3ftd56v9859+5zzt5n732Gfc4PPDw8\nPDw8PDw8+jxawPASz88HvlyxrAnAz4D1wI2O77wd+APw+Ypl9mUMBG4FHkI8eQW4G7iunZVqGG9k\n+RXhGuABJNsXgeXAbeZvJfA7k/eCef6Nzqstgbf1cpll7VsW+gE3Ab9BMvsPcDuhPJcjPX7N5Hc3\nUOabDV5f+j68z2oGTrawEzgTeKsj0W7gVeDS6vWihZTvVMfntwF+Dexfo8zewGpgVMV390SdfX4D\n9RgJ/BXYvgFaTZTZl+RXR0ZVMRrJ9sKM/JOBJ8znvsSr1wP9gK8DmxQ8dwuwmQO9RYhnWShr31ww\nEcnzrIz83YH/AsMaLLNd8PqyYaAdcvI+qx6cbOEpyKC4ElyJhLK0RsX2MjTG1KDR1zAeeAy4oOL7\npyKefKSBusxEA+C3NECrL5dZFnVlVBWzkGwPz8hvIQP7ZsEwio36qcgR52Fb4KcFz5Sxb644A8lz\nn5xnbgQ6Gi63t+H1ZcNAu+TkfVZ95NrCTSm3LPlZ4ATgZeBXNSp1OvA8mt2+UbAYDTwfpnh1IA03\no5XJzRuoy3XAnQ3Q6etllkVdGVXFj5Ahy5sdLuqluvQVLCR/23EwsjF5g5yvAJ/MyS9r31yxAvgf\nsJGV1iLap777OpTb2/D6smGgXXLyPqsZRGxhPytjf+DnjkS2AA41xJ4GtqpRoYkoDm1dDRp9CcOA\nd6A2XQ0cWfL9fsA4YA2wtoH6jAfuaoBOXy+zDOrKqCo6gL2Bpwi3ZQB2JNwCGwA820v16StYCUzL\nyf8X2mLYLyN/ADAV+GEOjTL2zRUtYCzqRy9Z6YeY9AA3NFxub8Pry4aBdsnJ+6zmELGF9qrVRNxn\nmN8AvogCYP8OdCEhvZby7G5oa+E5NNN8CfgaWk5sodH+t1BsyCaok3UC080zAXYGPodmUovQTCGO\n9wAnAv82tIeYd55HSj0DjU7t96ejvd9RRDtXHq08HA9cbD5fjAJas+In0tAFDCLZWaYiB9UFHIVW\nFQ41eeMRT4Ot5sOAo1HQ4VBgkqnHTcACi2ZRG5ss00V+O6G+8oJVn5nIQJepSxHqyqgqdkEBp9fH\n0o8DzjefXzZ1WUA6r6ry4QOo3U+gCdZKxNsgeL0q3Tz9DlDUz34JfCKFto3vAF9CgeJxTEPbiC/n\nvD+R5lfQulE82yorbTAwG/X/AHadRyPH+SqyRcchuQxCsS5nAn+MlVNVduuRfT0PBXLPQv1vKBrY\nHI2Cuovg9SXJ8zq0i3SmXb6nKrzPas5nZdrC65FCFGEccLn1fSkyBFumPDsNBd51me8TECOnmu9B\n/NlqFEMCGpw9Dxxj0Wmh1br+qPFrUsqaDjxINEj4NFNWP+AiQ3tG7P1jTB32dKSVhxY6zWLvY1+B\nlN0VM0x9DrbSBqBBLMB96JTMKYRbPl8A/pRC63ik/Bun5E0nv41Nlukiv6moU9sGcBbqsFXrkoYm\nZFQVJyLZ2qeBdie6spPHq6p8OBZNpAIdG46cwbKadIv0G9x0aXMkkyKsIn2r6260cpAHV/tWBnOQ\nPO9Bhv1eNGC4N+P5EcjwBzsXPcDvkR0chya4p8TeqSu7OWiX43zCrZP+SE5HObTR60uS53VoF+nM\ndNrne6rC+6wQdX1Wpi1cBuyQlmGh0xRkn0i6FAmnK/bsHqjR9jLrgcD9hB3/dGTQdo29u5boqc5p\nwBTzeQXJkexYNBMcZ6WNQae/hgIfJBTircC1sfd/Qdj2Ilp5OAKtxtkYQ3IGmIfrET+3sNL2R9sm\nHcA/SdZ/LuFRcxuLkbzicGljk2UWyW83NJM8JpYenOA6o2Jd0lBHRleh2I6iv8dJ7yuLUXvuAn6M\nHM1raPIQII9XVWTShWR9RCz9GWBeDbou+u2qSy10ZUIRDgfOjqV1p9Q3DWn2ra48lyIe2E7x08C5\nGXW4EMXCBbgGDe5AA8zz0IpRgCZkNxuFj4yOpT+LnFsRvL4INs+r0i7SmXb5nrpy8j4rRF2flWkL\nFwHvS8uwMIvkXSBnmwpNiaUvRyPE/jn0bjd/NkYZepOttO0NnRFIQeNlLUOzxHORkZsPfIbwaP42\nqOHboq2Fj8bev5BwZFtEKw93kT7DX03xDB9Th3+gu5VsDEOj+90Rb/aO5S9GcQdx/A34akq6Sxub\nLLNIfrcBfyZ5UGSSKfuoinVJQ10ZuaCH9KD3v6D7sgZYafOIOoM8XlWRyc0ohqtlpb2b6MnDKnRd\n9NtVl4ZSfAIT04YHiQbkX050OzELLvYtCz0k5dkfTSTjJwinEbUvXcB25vM7Y88+Sbp+BmhCdleT\nlN0I3E/ceX1J8rwq7SKdaafvcUEPSTl5nxVFXZ+VaQvnAR9LyzDYGinMCsLLAm8jvKjRXi7fAjVq\nAdloIeWbG0ufgwzfRok3tGf7ONHDDS00Q1yYU1aAuWjv2mZqB6FwytCKYw80y0vDp1Ddi7AL4mVW\n+TPRnUq2wWqh2XCcjwGtybH0sm1soswAafIbQnZfCbaQgitYytQlDU3IyAU9JA3ZDqgtt8TS55F+\nd1carwK48mEQkvWS2PsnkFz5KUPXVb9d+9lo4PsOz4Hi0IIViCFo9cEFRfYtDz0k5RnMlOOrFiOI\nbpVcRLotCyaiWQcfmpAdaAsm3q9PRLP/olN+Xl+ELJ6XoV2kM+32PS7oISkn77OiqOuzMm3haOCb\nGZUEzcTS9rMPNhWaY6W936QdnUMviD8bG0t/gPDi25FWeicyNmeY7yPM/60MHZfl+hXo2LaN/Qhn\nvGVoxXEp2RfZbYSWiNMMtY0TTPkfz8i/AQWr2jgQdZbhiEfDTfpJaEk4MMKD0EyqbBubKBOy5ZfX\nVx5BNzgHq5tl6pKGJmTkgp6UegSxjjNj6Wmz6SxeBXDlQ3dGmUsIl/Rt2q50XfS7TD+bARzk8Bxo\nlhzUfS4abLigyL7loYekPIP7uQ7IeW8kOlCVhsDp25fm2rJoQnbByk/c+SwntIPxVT0bXl+ELJ6X\noV2kM+32PS7oISkn77OiqOuzIrbQHhXej4yfvbQbYF+0j/qTlLwnzX/7qo2nzf+0Uyc7o+W+iWgF\n7T4rb1e0JXCZ+W5vp05By3+XodFoYJifQadh0u5RG4k6UIBtgEdjzxxAeJKiDC0bg9EsZkVG/kto\nhnNYRn6AYAk97bhvPxRQuiqWfiRwBxrlTzH1APH4AcRjkODXUa6NTZUJ2fLL6iuTkYM5GSlD2brE\n0ZSMqmKC+R8/hfhqyrNZvIJyfHjO5NnBqBsTXm0DklFZui76Xaaf7UVypSQLTyGbMxY5hSsc38uz\nb1WwD+EBpzR0oAHhJeb7xsA5KHYF5FDXoNk1iP+2vWtCdpOQ87HrONikX2m+z86ov9cXIYvnZWkX\n6cyOtNf3VIX3WSGa8Fm5tnAMyaC3UajDbpp8HNDobz1aYbNxO8nbjCejeK8W4e/W2TgI7f93oMB+\ne1Q+G92FBJq92jeCn4M6iH2R5QQ04h9opS0heqnhsSTjV1xp2TgNt5vO8268Dkbrj2XkB1sq8b3s\nNahTdaKZVOCArkVByKDYG3v24drGJsvMk98yon1lBDreflKNusTRhIxc0U10SbsDtecpx/fzeFWG\nDx0oZitwwi00YFiLjM0QwtlhWf4W6Te49bMPk31LfBbGo6soyt6WnmbfXBCXZyeasD6S8fxWKDbO\nnjkHOw2Ho6P5DxENTJ6HZuYBmpDdNST783vNs5sh55p1ktPrSz7Py9KGYp1pl+9xRZoeeJ8lNOGz\nnGzhh9CIfiQ6NfOKKeRhFIdm4wZTqfUopmGVeR+0VHgF8AMU2HcB0QHXPSRv/h6IGr6AqCJgyr4T\nBQfGjUonOka+xJT1bTT4iscjbI2W9r9n6KTFpLjSsrEUt0DOKwlPuAXoRoob/PDvi6idZ8aeOxDJ\nIB5jcpgpfyGSW4AupJTnoROxdv1d29hkmXnyG4RmKZeg+66uIuqsqtQljjoyqort0ArAb5Fs1yGd\nWkb0xFMcebwqy4d3oRnZfKSDO6Lj6qtQrMOQinSL9BuK+9nW5nsVrKba7w0G9q0KdkIrFY8iea5F\nsgzice9AMbnrTP4h1rtDUB8/FzmbgWgQtxDxbt+U8urKbhW6QsBGf+SQLkKDwqxfZ/D6ks/zKrSL\ndKa3fU9VeJ/VvM+qYws9PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8+gL+D69+g8ggmLoPAAAA\nAElFTkSuQmCC\n",
"text/latex": [
"$$\\left(Achieve \\wedge Intention \\wedge \\neg Finance\\right) \\vee \\left(\\neg Exam \\wedge \\neg Finance \\wedge \\neg Intention\\right)$$"
],
"text/plain": [
"(Achieve ∧ Intention ∧ ¬Finance) ∨ (¬Exam ∧ ¬Finance ∧ ¬Intention)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.minimize>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from ipywidgets import * \n",
"interact(minimize, cutpoint =(1,11,1))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
},
"widgets": {
"state": {
"3de204f300604e07a5b04bf3f2671134": {
"views": []
},
"562facba658e43229d91f3b56f9d3a9c": {
"views": []
},
"683e415b934143c98e2df25eeebfb94a": {
"views": []
},
"8b0b001faa9d44729e74e169e0c8ec47": {
"views": [
{
"cell_index": 54
}
]
},
"9120edcfbeb54088b95d3b20f4ddedbf": {
"views": []
},
"c0b8ab164f024237a53d8b8e7869111c": {
"views": []
},
"d2c9a40edede48efbfbb9f0b9b6ab399": {
"views": []
},
"e3645c3b62ef469ca01edc1d27083623": {
"views": []
}
},
"version": "1.1.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment