2015年10月24日の日記です


非力なマシンはやっぱり非力だった  2015-10-24 11:42:04  コンピュータ

昨日「非力なマシンに LinuxBeanを入れてみた」と書いたばかりなのですが、やっぱダメだった報告。


一応、子供の主な目的は Scratch だとわかっていました。

だから、ちゃんと Scratch が使えることは確認していた。


簡単なプログラムも組んで、多少遅いけど動作に問題ないことも確認した。



でも、子供はすでにいろいろなプログラムを作っていた。

これが想像以上に大規模なプログラムで、読み込ませたら非常に重い。


ついには、Flash がクラッシュして停止した。

うーむ、使い物にならなかったか。



Hello World 程度の簡単なプログラムが動いたからと言って、実用にはならなかった、という話。




Scratch には 1.4 と 2.0 の2系統がある。


長男が普段使っていたのは、2.0 。WEB サイトにアクセスすることで、WEB ブラウザ上で動作する。

Flash 上で動いている。


これとは別に、ローカルマシンにインストールして使用する 1.4 がある。

こちらは、Squeak (Smalltalk のフリー実装)上で動作する。



番号が上だから 2.0 のほうが高機能、というわけではない。

うちもそうだけど、子供が自分のマシンを持っていることは少なくて、親のマシンを借りていると「ソフトをインストール」はできないことがある。


そこで WEB ブラウザ上で動くようにした、というのが 2.0 なのだけど、WEB ブラウザの制限によって一部機能を諦めている。

とはいっても、機能劣化版ではなく、2.0 でないと使えない機能もある。似て非なるものだ。



1.4 でないと使えない機能の筆頭は、ポート入出力。

RaspberryPi に Scratch1.4 を組み合わせ、自作の自動車を制御する、なんて遊びが子供の間で流行している。


こういう、制御系に使う場合にはポート入出力が必須。


センサーで状況を確認して、モーターを動かす、というようなことが基本なので、車でなくてもかまわない。

現実世界をプログラムでコントロールできる、という夢のような機能は、1.4 でしか使えない。




2.0 でないと使えない機能の筆頭は、「ブロック」(手続き、関数に相当)の作成と、インスタンスの生成。

この二つ、プログラムへの理解が進まないと混乱するだけの機能なので、1.4 では入れられなかったのだと思う。


でも、使い慣れるとこれなしにはプログラムが作れなくなるほど強力。

特に、ゲームなどで必要な「たくさんの敵」の表現は、2.0 のインスタンス生成なしには考えられない。



さて、LinuxBean に 1.4 をインストールしてみたら、2.0 よりも軽快に動く。

それはそうだろう。1.4 は RaspberryPi でもよく使われるが、いくら非力とはいっても Lavie は RaspberryPi よりは高性能だ。


#初代 RasPi との比較。最近の RasPi は高性能化しているので負けるかも。



長男はとりあえず「ちょっと画面構成などが異なる」 1.4 に興味をもって少し使っていた。

でも、やっぱり Scratch は 2.0 でやりたいようだ。



#この件、高速化のための情報をいただいたので後日書きました

 RaspberryPi では、通常の Scratch よりも3~10倍程度早く動くものが使われているそうです。




話は変わる。


最近長男は将棋にも興味を持っているのだけど、周囲がみな弱いので、ゲームにならない。

駒を動かすのがやっとの長女を相手にして、勝ったと喜んでいる。全然自慢にならない。


そこで、Linux 上で動く将棋ソフト、GNU Shogi (と、グラフィカルに表示するフロントエンドである Xshogi)を入れてあった。


これは興味をもって遊んでいた。

でも、強すぎる。本来、このソフトは非常に弱い部類なのだけどね。




コンピューターに将棋を打たせるのも難しい、という時代に「森田和郎の将棋」が作られ、そこで使われたアルゴリズムなどはすべて公開された。


その後、森田将棋を参考に多くの将棋が作られ、GNU Shogi もそうしたものの一つだったはず。

初期の世代のアルゴリズムなので、それほど強くない。



Bonanza は、森田将棋以来のアルゴリズムを大きく変えたソフトだ。


将棋ソフトの思考の基本は、数手先に最善になる可能性が高い手を読む、ということだ。

ここで、「最善」とは何かが問題になる。


森田将棋のアルゴリズムでは、この「最善」をどう考えるかがプログラマの腕の見せ所だった。職人芸ともいえた。


Bonanza では、この「最善」を求める職人芸の部分を、機械学習に置き換えた。

膨大な棋譜を読み込ませ、それぞれの勝敗を元に、どこの手が良かったのか、悪かったのか、膨大な棋譜すべてに共通できる考え方を、自ら編み出していく。



そして、森田将棋がアルゴリズムを公開したように、Bonanza もソースコードを公開した。

それ以降、将棋ソフトはどんどん強くなっている。今も発展の途上だ。



…と歴史話を書いてみたけど、つまりは GNU Shogi は非常に弱い。

長男は将棋に興味を持っているけど、GNU Shogi にちっとも勝てない。


もちろん僕も勝てない。将棋に関しては僕もかなり弱いから。




このマシン、Windows より起動も終了も速くて、気楽に使えるのは事実。

当面気楽な WEB 端末として使ってみるのもいいかもしれない。



長男は将棋は気に入ったようで、将棋だけ遊ぶのにこちらのマシンを使っている。


他にも、いくつか子供が興味を持つようなゲームを入れてみてもいいかもしれない。




同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

古くて非力なマシンをLinuxBeanで再生してみた【日記 15/10/23】

NuScratch【日記 15/10/26】

別年同日の日記

07年 無理難題

13年 ジョン・マッカーシーの命日

17年 さん付け運動実施中

23年 PC修理


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -