#author("2021-12-22T13:11:00+09:00","default:obata","obata") #author("2022-01-23T08:11:22+09:00","default:obata","obata") CENTER:[[前回 ◁ >2021年度/冬学期/第6講]]&color(#447CFF){第 &size(32){7}; 講}; [[▷ 次回>2021年度/冬学期/第8講]] //#qanda_mathjax #katex #qanda_setstid(2021-11-25 16:10:00, 90) #qanda_who ------- ✔RECONチェック&br; ✅接続チェック #qanda_set_qst(7,20,0){{ <p>✔接続状態をおしえてください。</p> <p>✔なお、前回学生証番号を登録した人で、今回「氏名不詳」になってしまった人は「再登録」と書いてください。</p> }} #qanda(7,20) 11月11日は[[第4講のページのここ>2021年度/冬学期/第4講#lec7starthere]]に戻ってはじめます。 ----- CENTER:&size(25){&color(yellow,navy){ 生産に必要な労働時間 };}; ----- **今回のネライ [#t546d224] +生産期間と労働時間の関係を整理する。 +生産物1単位を生産するのに必要な労働時間 $t$の計算方法について学ぶ。 +インターネットとブラウザの javascript をつかって、計算を手っ取り早く処理する方法になれる。今回は Geogebra + アルファ を試してみる。 **問題の前提と注意 [#ia00bee3] -現実の経済では、無数の生産物が存在し、無数の生産方法(技術)が存在する。これを二種類の生産物とそれぞれに一つの技術が存在する「社会的再生産」に抽象化して考える。 -たとえば日本経済全体を一つの再生産過程と考えると、生産物の数は数え方にもよるが、何億、何兆にもなる。これをたった二つに抽象化しているのだ。とても実証的な検証に値するようなモデルではない。あくまで、本質を理解するために極限まで単純化した一面であることに注意!直感ではなく直観する力、抽象力をつけよう。 **時間と期間 [#qe0f6381] -生産過程はモノとモノの反応過程であり、あるインプットに対して一定の期間に必ずきまったアウトプットがもたらされる。 -ただし、この原因結果の間の客観性、再現性の実現には、一定期間(生産期間)に、この過程を監視し制御する(身体を通じて)人間主体の労働が、必要となる。 -しかし、監視制御によって実現される生産過程に「技術」があるため、この労働時間も客観性をもつ。 -たとえば、部品を全部そろえても、パソコンにはならない。組み立てなくっちゃ。ただ、組み立てるのに必要な時間は、基本的にだれがやっても一定になる傾向。$生産過程の技術 \to 生産のための労働時間の客観性$ #qanda_set_qst(7,1,0){{ <p>生産期間と労働時間は一致する。</p> <p>ある生産物を生産するのに必要な期間が10時間ならば、この生産物を生産するのに必要な労働時間は10時間である。</p> <p>真か偽か、理由を述べよ。</p> }} #qanda(7,1) #qanda_solution(7,1){{ <h4>解答</h4> <p>偽。たとえばクツを1足を生産するのに2時間の労働が必要だとしても、一人が右足、もう一人が左足を同時につくれば、クツ一足を生産するのに必要な生産期間は1時間となる。</p> <h4>別解</h4> <p>たとえば酒造りの場合、準備段階や最終段階で多くの労働がおこなわれるが、発酵過程では労働はおこなわれない。しかし、この発酵期間も生産期間には含まれる。</p> <p>解説</p> <p>期間と時間は別の概念であることを理解しよう。</p> }} **労働の量 [#m1be819d] -労働は、人間の目的意識的な活動を指す広い概念である。生産過程をコントロールする労働は、その一つの側面(相)である。 -ここでは、どの生産過程でも互換的な労働を考える。生産過程を観察し、目的から外れないように身体で労働手段を操作する基本活動に個人差はないものと仮定する。 -したがってさなざまな種類の労働が存在するが、労働の量は「時間」を単位にはかることができる。そして、加算することができる。 -革を裁断するのに20分、縫い合わせるのに40分かかれば、クツをつくるのに直接必要な労働時間は $20分+40分=60分$ と「考える」。 -でもよくみれば「縫い合わせる」といっても、1秒たりとも、同じ動作はない、ということもできる。でも、だから「縫い合わせるのに40分かかる」とまとめる(加算する)ことはできない、とは「考えない」。これは、ある意味、約束事。 -ただし、特定の生産手段を扱うには一定のトレーニングが必要である。このスキルの存在と「型づけ」という処理方式については、このあと労働を考察するときに、労働の他の「相」の労働と合わせて論じる。 -ただし、特定の生産手段を扱うには一定のトレーニングが必要である。この&aname(lec7_skill){スキル};の存在と「型づけ」という処理方式については、このあと労働を考察するときに、労働の他の「相」の労働と合わせて論じる。 **簡単な数値例 [#fbb322ce] -つぎのような小麦と鉄の生産過程を仮定する。 $$\begin{cases} (8,12) + 6 &\to& 36\\ (16,4) +12 &\to& 24 \end{cases}$$ -ここで1行目、2行目はそれぞれ --「小麦8kg,鉄12kgを原料に、6時間労働することで、小麦36kgができる」 --「小麦16kg,鉄4kgを原料に、12時間労働することで、鉄24kgができる」 &br; < と読む。この + は数学の加算記号ではない。うえのような文章を短くするための符号。 **生産に''直接・間接に''必要な労働量 [#vb6dbad0] -小麦36kgの生産には、''直接の''労働6時間のほかに、その原料 (小麦,鉄) = (8,12) kg を生産するのに必要な''間接の''労働が必要となる。 -小麦1kgを生産するのに、''直接・間接に''必要な労働時間は? --$6_{ 時間} \div 36_{ kg} = 1/6_{ 時間/kg} $ではない。 --もっとかかっているはず。原料を生産するのに必要な労働時間(間接の)もカウントしなければ... #qanda_set_qst(7,2,0){{ $$\begin{cases} (8,12) + 6 &\to& 36\\ (16,4) +12 &\to& 24 \end{cases}$$ <p>小麦1kgを生産するのに、<strong>直接・間接に</strong>必要な労働時間を$t_1$、鉄1kgのそれを$ t_2 $とする。$ t_1,t_2 $を求める式を立て, その値を求めよ。</p> }} #qanda(7,2) &aname(valueEq); #qanda_solution(7,2){{ <h4>解答</h4> $$ \begin{cases} 8t_1 + 12t_2 + 6 &=& 36t_1\\ 16t_1 + 4t_2 + 12 &=& 24t_2 \end{cases} \tag{1} $$ <p>これを解いて</p> $$ (t_1,t_2) = (33/46,27/23) $$ }} #qanda_scorechart(7,2) **Supplement [#a4266b4e] -うえの方程式を[[Geogebra>https://www.geogebra.org/?lang=ja]]で解いてみよう。 #divregion(コピペのためのオマケ) 8x + 12y + 6 = 36x 16x + 4y+ 12 = 24y #enddivregion -小数を分数にする --ブラウザに備えつけのプログラム言語をちょっとつかってみる。 --スマフォやタブレットの人は、あとでどこかのPCで... --ディスプレイの一番うえのところ(メニューバー)にでてくる、 ---Safariだったら「開発」(「開発」がみつからないときは「環境設定>詳細」をひらき一番下のところにチェックを入れる)、 ---Chrome だったら「表示」、 ---Firefox だったら「ツール」のプルダウンメニューをひらいて、「Web開発ツール」とか、「javascriptのコンソール」とか、そのあたりをひらく。 ---エッジの人は[[ここ>https://qiita.com/kouji-kojima/items/4b18abc200a68751de04]]をみてください。 --「コンソール」を選んで プロンプト(> )のあとに以下をコピペ #divregion(javascript function) // many thanks for https://www.vcssl.org/ja-jp/code/archive/0001/2900-float-to-fraction/FloatToFraction.html dec2fact = function(f){ var maxDenominator = 10000; var errorCapacity = 0.0001; // 分母 i を変えながら、f に近い分数を探していく for(var i=1; i<maxDenominator; i++) { // 分母 i のとき、分数の値が f に最も近くなり得る分子 var j1 = (f*i)|0; // f より小さい側 var j2 = j1 + 1; // f より大きい側 // 分数の浮動小数点数による近似値を計算 var v1 = j1 / i; // f より小さい側 var v2 = j2 / i; // f より大きい側 // 誤差が許容範囲内であれば、結果に i/j を出力して終了 if (Math.abs(v1-f) < errorCapacity) { console.log(j1 + " / " + i + " ( = " + v1 + " )"); return; } else if (Math.abs(v2-f) < errorCapacity) { console.log(j2 + " / " + i + " ( = " + v2 + " )") return; } } // 結果があれば既にexitしているはずなので、ここが実行される場合は結果なし console.log("該当なし") return; }; #enddivregion -これでdec2fact( )という関数が使えるようになる。 -- dec2fact(0.23422) とか打ち込んでみる。たぶんかなり近い分数になるはず。 ***コンピュータによる数値解 [#p36353c0] -人間に特有な活動である「労働」とコンピュータの関係を考える一つのヒントとして.... -この「特有な」の一語ですますのではなく、その意味内容を正確に分析する必要があるのですが... #qanda_set_qst(7,3,0){{ <p>コンピュータで方程式の数値解を得るやり方は、あなたが子供のころからやってきたのとは違う。式の変形によるのではないのだ。</p> <p>コンピュータではどうやって解を求めるのか?</p> <p>具体的なやり方ではなく、要する"一般にこういうやり方で...."と答えてみてください。</p> }} #qanda(7,3) #qanda_solution(7,3){{ <h4>解答</h4> <p>次々に数値を入れて計算し、条件にあっているものを見つけだす。</p> <h4>解説</h4> <ul> <li>「式の変形」の変形というのは、未知数というシンボルを操作することで、これをいきなり、コンピュータ(=生まれは「計算機」)にやらせるのは無理。</li> <li>実際に計算そのものは速いので、このメリットを活用して、近似値を求めるのが一般的な使い方。</li> <li>コンピュータにできるのは、 x == 1 の関係(同じかどうか)を区別して、if then else 型の論理で条件分岐すること。さらにこれを利用して、繰り返し処理をすること。</li> <li>では「解答」の「次々に数値を入れて計算し、条件にあっているものを見つけだす。」って、具体的にはどうやってやるのか? <ol> <li>「次々に数値を入れて」は?たとえば、-1000から1000まで、0.1 刻みでふやしす</li> <li>「条件にあっている」とは?ピッタリ合わう必然性はない。0.1刻みの中間に解があるときも。だから、誤差を認めて「あっている」とする。x0 === x1 ではなく、x0-x1 < 0.00001 なら「あっている」とみなす。</li> <li>「見つけだす」とは?「みつかるまで繰り返す」ということ。人間だったら、ここら辺りと「見当をつける」と思うが、こういう見つけ方はしない。端から端まで、if then else 型で、あって条件に合致する値がでてくるまで繰り返す。</li> </ol> </li> <li>でもこれはちょっと芸がなさすぎる。たとえば、幅を小さくしながら左右から挟み込むとか、工夫しないと、いかにコンピュータとはいえ、時間がかかる。</li> <li>さらにうえの問題のように、x,y と変数が二つあったらどうするか。</li> <li>まず x = 0.1,0.2,.... のそれぞれに、y=0.1,0.2,.... をいれて、左辺=右辺をチェックするか。for の二重ループ。これだち二乗の時間がかかる。</li> <li>多重ループをどうやって回避するか?これは人間のプログラマーが考えないといけない。コンピュータは、効率の悪いプログラムを、自動で効率化するようなことはできない。</li> <li>かりに、できるようにするとすれば、それはかなり危険だ。コンピュータがそれ自身のプログラムを書きなおして動くとしたら、人間の意図しない結果を生みだしても、人間にはわからない。要するに、人間が使う(管理できる)コンピュータではなくなってしまうのだ。</li> <li>ここらに、「コンピュータが発達すると労働はいらなくなるか」という問題の核心に迫るヒントがありそうです。</li> </ul> }} ***コンピュータによる論理操作 [#w84f36e3] -とはいえ...コンピュータで分数解を直接(?)得る方法もないわけではない。 -たとえば python のsympy というモジュールをつかえば.... -[[SympyLive>https://live.sympy.org/]]に接続して試してみよう。 -次の式をコピペしてみよう。 #divregion(オマケ,admin,lec=7,qnum=3) var('x,y') ex1 = 8*x + 12*y + 6 - 36*x ex2 = 16*x + 4*y+ 12 - 24*y solve([ex1,ex2],[x,y]) #enddivregion -これは人間のプログラマが、人間がやる(やりたい)ことを、プログラミングしているから。 -プログラミングすれば「できる」というか、プログラミングしないと「できない」というか、これはよくある水掛け論。愚かです。 -人間とコンピュータの間に絶対的な境界線を引こうとすること自体があやまり。たしかに境界 線は「ある」。でも、&qanda_tooltip(境界線は「動く」){「動く」のらな「ない」というか、「動いても」「ある」というか.....};のです。 #divregion(コンピュータは分数が苦手:なぜか, admin,lec=7,qnum=3) -コンピュータの数値の扱いは「直感」によるものだから。 --数値の扱い方は、見た目の近さによっている。つまり、感覚の世界。1は0.9999999 と「近い」。 --コンピュータは誤差を許す。"「似てる」は「同じ」を同じだ!"という、論理的にはメチャクチャな話。"ほぼ平行"を認めたら、ユークリッド幾何学の「証明」なんて無意味。 -しかし、"だいたい"、あるいは"限りなく"似ているのだからよいじゃん、というのが「直感」型の思考。 --人間のなかにも、この種の感覚的思考(?)で生きている人がけっこう多い。というか、ほとんどそうだ。 -でも、人間は分数を扱える。「直観」する力があるから。 --人間の数の認識の基本は「離散的」。1,2,3,4 と数えるはず。子供はそうだが、大人だってそうだ。自動車が通過すると、1台、2台、と数える。いろんな車が通ったのだが、それを捨象するから、1,2,3 と離散的な数え上げができる。抽象力がないと数えられないのだ。 -たしかに、コンピュータのデータはビット型の離散データ。バネばかりのようなアナログデータではない。しかし、どんどん細かくビット数をふやし、アナログ値に近似させる方法で発達。要するに、アナログ型感覚型の世界からでようとしないのだ(もともとできないのだ)。 -分数とは何か?抽象力を駆使して一気に言ってしまえば、離散したものの間を、離散的に捉えるもの、ということになる。 --0と1の間を、たとえば3で等間隔に区切る。そして、自動車の数を数えたのと同じように、1/3,2/3,3/3 というように、1,2,3 と数え上げる。離散的に数えるという基本原理は分数でも同じ。 --コンピュータはのほうはこの分母の3が使えない。三等分したら、0.33333333 あたりで1/3(この概念がないのだが)と同じと「みなす」。だから 1/3*3 が1にならない。0.999999を1と「みなす」。 --この誤差は、コンピュータで、1/3*1/3 のような累乗計算をやると、どんどん広がる。紙の上でやっている 1/3 * 1/3 = 1 /9 には、誤差なんてない。数学は、誤差がでない、論理的一貫をもつ演算の世界が前提。これが、コンピュータのデータでは保証されない。 -要するに、コンピュータは抽象的な数学が「わからない」のだ。とまでは言わないが...苦手なのだ。 --しかし、人間も現実の生活では、感覚(知覚)の世界で生き、近似で処理している。顔の識別など、人間も「感覚」で処理しているはず。論理的に「この顔とあの顔が同じだ」とは、だれも言い切れないだろう。 --そして、この領域でなら、コンピュータをつかった処理が、人間の能力をどんどん上まわってゆく可能性がある。 --ということで、感覚でものを処理している人、似ている回答をインターネットで探してコピペしてすまそうとしている人、こういう能力をいくら磨いても、所詮、コンピュータにはかないません。そんな能力は、すぐにいらなくなるのです。 --この講義では、「コンピュータをつかって、コンピュータにできない抽象能力を身につける」ことを隠れた目的にしています。くれぐれも、あちこち探ってコピペするのではなく、地頭=自アタマで考えてください。 #enddivregion **今回のまとめ [#gb99c923] -生産期間とその間におこなわれる労働時間とは一致しないが、生産過程に技術があれば、生産期間は客観的にきまり、その結果、生産過程をコントロールする労働量も客観的にきまる。 -複数の生産過程が連鎖し、生産物を生産手段として受渡する社会的再生産のもとでも、各生産物1単位を生産するのに必要な労働時間は、生産技術のみに基づいて、客観的にきまる。