2014-01-01から1年間の記事一覧

ニューラルネットワークさっぱりわからん

NNよくわからない人による、よくわからないメモこんな感じのニューラルネットワークを考えます 入力 x 中間層 y 出力 z入力と中間層の間の重み w 中間層と出力の重み vこれを行列で表現すると、 (追記:ここに勘違いが潜んでいたようです。下へ→) ここで、…

周回おくれでRaspberryPiでMinecraft

RaspberryPiで、専用版のMinecraft(というゲーム?)が動かせるらしい、という話はきいてたのだけれど、触ったことがありませんでした。ふと思い立って少し検索してみました。面白そうなページをいくつかメモMinecraftPi Python API一覧 Minecraft Graphics …

感想

Arduinoはメモリが少ないので、もうすこしスリムダウンというかダウンサイジングというか、 引き算したほうが良い気がします

イテレータ的な何か

たとえば、音楽を演奏する場合、スタックに全データを積んでから演奏命令 m1 m2 m3 ... mn n TONEみたいな命令にすると、メモリが足りない TONE BEGIN m1 m2 m3 m4 ... mn ENDみたくすると、、、Forthっぽくなくなっちゃうのが難点

変数

現在のスコープ内で、スタックポインタ位置から数えて 何番目かの値を取り出し、書き換えできるようにしたい (ローカル変数) あくまで番号での指定のみ

条件分岐 制御構造

できれば 末尾再帰(というよりも GOTO )などを使い、Whileなどのループ構造は無しですませたいが、、、IF とか 条件分岐はどうしても必要かも 値偽(b) 値真(a) 条件 IF # m n FはIFを意味するコードみたいな構文の場合、b a は先に両方とも評価されてしま…

サブルーチン/関数

対話モードでは定義できない(たぶん) いわゆるForthと違い コンパイルしない プログラム入力モードにて、エントリーポイントとサブルーチン番号(0〜9のみ) の対応を記憶。

ブロック

無名関数だと思うとよいのかも。 スタックフレーム 同じ深さのEndまで行くとBeginの直前までスタックなどを戻せる。 コレが無いと、引数の数を数えて手作業でpopしたり、しなきゃなんない。

2項演算

a b + # + a bみたく、逆ポーランド記法で。 前節の説明のように、実際には、+の部分は 0 C などのようになる

関数

命令語

機能のイニシャルとして覚えやすくしたい 命令語には、 スタックの値を操作するもの(関数?)と、 これから入ってくる命令語についての指示(文)とがある。 a b c ... n D nケタの10進数 a b c をpop → 16bitの整数 abcとしてスタックに積む。Decimal 例) 1 2…

言語仕様

全体に遅そうで 且つ なんか冗長な仕様 ロータリーコードスイッチで、 0〜15 (4bit)づつバイトコード(正確には4bitづつだけど)を入力 起動時のロータリースイッチの位置により動作モードを切り替え 対話モード 自動実行モード プログラム入力モード(解釈し…

その他 機能

インタプリタ自体の開発はArduino上で EEPROMにSAVE /起動時にLOADできると組み込みっぽい Arduinoマイコンはメモリが少ないので(ry デジタル入出力 アナログ出力(PWM) アナログ入力( ADコンバータ) タッチセンス 音楽演奏のTONE などが使えるといいなあ

Arduinoでセルフ開発は私にはムリだ

ワンボードマイコンArduino1枚だけで キーボードもディスプレイもシリアルも無しでセルフ開発するのを妄想してみた。 (妄想たのしいです) 対象年齢 10歳から妄想するだけだと楽しいけど、自分で実装するとなると、、、作るのムリっぽい気がしてきたー 言語…

Pythonで 関数の中身をリスト(S式)に変換しようとして失敗した話

Pythonで書かれた関数の中身を後から取り出せないか、ちょっと考えてみた。うまくいかなかったけど、出来たとこまでさらすまずは 演算子をオーバーロードして、こんなクラスを用意 class Var(object): def __add__(self,x): return List(["add",self,x]) def…

Pythonで末尾再帰もどき

不快指数が高いのでむしゃくしゃしてやった。 とくに(スタックがあふれないという以上の)意味はありません class TailRec(object): class TailRecException(Exception): def __init__(self,*args,**kwargs): self.args=args self.kwargs=kwargs def __init…

オマケ

問題 前方に分かれ道があり、右が天国に通じ、左が地獄に通じている。 分かれ道に、一人の道案内が立っている。この人は正直者か嘘つきのどちらかであるが外見からは区別できない。 正直者は、必ず真実を答え、嘘つきは必ず嘘(真実の逆)を答える。 今、あ…

論理学と統計学を足して2で割ったような「計量論理学」とか「論理統計学」なんてのはないだろうか?

たとえば、「病気Cを試験Tによって検出」 病気Cを試験Tで必ず検出記号論理学 Cx → Tx統計 確率は1.0 P(T|C)=1.0 病気Cを試験Tで検出できることがある記号論理学 ∃x(Cx → Tx)統計 確率は0より大きい P(T|C)>0.0 と、 確率が0と1しか無くて使いづらい。 実験デ…

(論理学+統計学)÷2=?

放送大学「記号論理学」の授業を見つつ思いついたことなどのメモ。

Prologで数を表現

発明家エジソンが小学校のとき 先生、なんで 1+1=2になるんですか?的な質問を連発して先生を困らせたという話は有名です。で、自分も、なんでなのかいまだによくわからんのですが...以前 数学ガールで読んだ、 数字を知らない宇宙人に数という概念を教…

記号論理学でモンティホール問題

今学期、放送大学にて、記号論理学をとりました。 で、先日、ふと、「記号論理学を使って、モンティホール問題を記述できないか?」 と思いつき、チャレンジしてみました。 といっても、 今回勉強した 一階述語言語では定量的な確率は扱えないので、いろいろ…

変数と値の代入

で、コンピュータのプログラミングにおいても、おとぎばなし程度の雛形をPCちゃんに「読み聞かせ」してあげて、あとは適当な値を入れてあげると具体的なブツになって出てくるわけで、「おとぎばなし」と「伝説」の関係に似てるなーって思いました。本当は無…

「おとぎばなし」と「伝説」

おとぎばなし 「むかしむかしあるところに強いお侍さんが居ました。(中略)お侍さんは怪物を退治して困ってる人たちを助けました」伝説 「天正末期、山田長政と袂を分かった後藤又兵衛が諸国をめぐり武者修行をしていたところ(中略)又兵衛は悪い大猿を退…

プログラミングと、おとぎばなし

プログラミングって言うと小難しく感じるけど、「コンピュータちゃんにお話を読み聞かせしてあげる」っていうと優しい感じが出る気がする

CFFI

pythonからCで書かれたDLLを呼び出すには、標準ライブラリのctypesを使う。。。と思ったのですが、あまりに久しぶりすぎて使い方を忘れてしまいました(汗今回は、新しく*1 開発されたCFFIモジュールを使用します。ctypesよりも記述が簡単になっております。…

AqKanji2KoeをPythonから呼び出す (CFFIを使って)

AqKanji2Koe は、漢字かな混じり文のテキストを、AquesTalk用のカナ表記の音声記号列に変換する言語処理のライブラリです。言語処理ライブラリ AqKanji2Koe おーすげー と思ったら 評価版は「ナ行、マ行」の音韻がすべて「ヌ」になる制限があります。評価版…

ポケミクさんで「運命」 じゃんじゃんじゃんじゃーん

大人の科学 歌うキーボード ポケットミクさんで普通に演奏すると、ノートオン(カーボンキーボードに端子で触れた瞬間)のみ声が出ます。 で、 『ドラグネット』だとか、ベートーベン『運命』の冒頭『じゃんじゃんじゃん じゃーん』ってところなどは、ノートオ…

スクリプト

Win32 (VISTA) Python2.6で動作確認。 運がよければRaspberryPiでも動くのではないかと思います(未確認)スクリプトファイルは2つ lyricsend.py本体プログラム pokemiku.py仮名と文字コードの変換テーブル上記のスクリプトへインポートしています lyricsen…

蛇足ですが

ポケミクさん、アニメソングなどを歌わせてると、エアクッションのプチプチを潰しているような中毒性があります。 マジンガー ぜ〜〜〜〜〜〜(ここはスタイラスで) などを歌わせるとクセになりますね

終了方法

キーボードにて、コントロールCで強制終了させてください