ネギ式

適当に生きるおっさんのブログ

プログラミング

Magentaの入力データを作るプログラミングが面倒で手が付けられないと思ったが作る必要はなかった。

先日導入したMagentaは最初の数音を与えるとそれ以後を作曲するというAI作曲なのだが、その最初の数音の指定がMIDI形式というかいわゆるC4のドの音なら60という数値で表すし、音の長さは基本となる長さを16分音符の長さにしていてそれを続ける場合は-2、止め…

ナンプレ:ネタがないときはナンプレネタ

いくらでも生成できるからのう。 いつもふざけて、ナンプレや数独の名前に逆らって変な文字を使っているので、今回は極めて真面目に数字を使ったものにした。 もっとやりたい人はこっち。リロードすると別の問題になる。 大字(数字)ナンプレ (リンク失敗…

プログラミング:TypeScript を始める

人類がAIの発達に驚いている隙に、100万光年遅れで俺はTypeScriptのプログラミングを始めるのであった。 しかも作ろうとしているプログラムは、AIなら一瞬で答えを出してくれるものである。それでもプログラムを作る過程で学習するという目的でプログラムを…

プログラミング:因数分解バグ

因数分解のプログラムにバグが発覚した。 間違いではないと強弁することも可能だが、(2x+1)が二つに分かれて表示されているのはマズイ。係数が大き過ぎるのは原因ではない。 このバグを直そうとして迷走してしまい、結構手間取ってしまった。 そして、このバ…

数学:微分すると0

ネタがないので、因数分解振り返り。 最初はバグかと思ったのだが、mod の世界の多項式は、定数項のみでなくても微分するとになることがある。 これは Cantor-Zassenhaus の論文に書いてあった。論文に書くほどのことではない気がするが、親切にもそう書いて…

プログラミング:webpack5でハマった

俺になんの断りもなく、いつのまにかwebpackのバージョンが上がっていたのだ。解決済みだが、2点ハマった。 exports is not defined process is not defined exports is not defined は、babel がうまく変換してくれないのだと分かったが、検索するとtypescr…

プログラミング:因数分解プログラム完成

いやほんと。今度はちゃんとCantor–Zassenhausの論文も(ざっと)読んだし。もうちゃんと理解した。 とりあえず、webは次のところ 多項式の因数分解 スクリーンショットはこれ 30次だと少し待つことになる。たぶんもっと次数が高くても因数分解できると思う…

プログラム:n個の組み合わせを生成する【追記:再帰の方が良い】

組み合わせを爆発させる簡単な方法。 追記:qiitaにある再帰版の方がよい。 qiita.com やりたいことは、[A,B,C,D]という配列があったら、順にA, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, ACD, BCD,ABCDという出力をするようなプログラムを作ること。もち…

プログラミング:組み合わせ爆発

爆発は男のロマンだ!(ガミガミ魔王) エクスプロージョン!(めぐみん) というわけで、爆発させて/してみました。 多項式の因数分解、まだやっていたのです。話は終わってないのです。因数分解出来るテストデータはよいのですが(実はよくない)、因数分…

プログラミング:因数分解プログラムほぼOK

プログラム修正後、600回くらいランダムに因数分解を試みて全部成功しているので、たぶんもう大丈夫。(多項式の次数と、係数の最大値には制限あり) 多項式の因数分解 ただし、もはやCantor–Zassenhaus algorithmではない。(英語版wikipediaを見ただけで、…

200回に1回くらい間違える因数分解

だんだん分からなくなって来た。 俺のやっているのは何か間違っている。でも、もう飽きたのでやめる。200回に1回の間違いくらいいいじゃないのさ。あと、javascript の限界というのがある。整数だけど有理数っぽい割り算というところ、どんどん数が大きくな…

因数分解アルゴリズムの弱点

自分のバグを修正していく過程で、Cantor–Zassenhausのアルゴリズムの弱点が分かってきたような気がする。 まず、「因数分解は素因数分解よりやさしい」とかこのブログに書いたけど、大嘘でした。計算量としても特に優れているとは言えない。そもそも俺のプ…

10回に1回失敗するプログラム

因数分解のプログラムかなり進んで、ともかく結果がでるようになった。ただし、10回に1回は何か失敗して答えを返さない。 筆算で問題を作るのは疲れたのでランダムに問題を作って解かせているので。 それ以外に、10回に1回くらい、間違った結果をだす。 まと…

だいたい分かった(つもりになった)

Wikipediaのヘンゼルの補題にγというのが突然出てきて、これが分からなかった。というかそんなはずないと思ったのだが、英語版を見ても同じことが書いてあった。 でも日本語の他のサイトを見たら、ちゃんと書いてあってそれでだいたい分かった気になった。wi…

迷走中

ちょっとwikipediaの記述に分からないところがあって、こうだろうと決めつけてプログラムを組んだのだが、ほぼうまく行っているようで少し気になるところもある。 昔「けよりな」とか略すエロゲがあったけど、漢字を飛ばしてひらがなだけ読むようなwkipedea…

イケてるプログラミングをしようとしたら面倒くさくなった。

多項式の因数分解の件。 まず整数係数多項式のクラスを作った。ちょっとイケてる風にイミュータブルにした。つまり、足し算をしても元のオブジェクトは変化しないで新しいオブジェクトを作るのである。超ってほどでもないけど少しイケてる。 それから、因数…

バグ:無平方分解失敗……なんとか対応する

いやあ、失敗失敗。 x^3+5x^2+7x+3 を無平方分解しようとして、まず微分すると 3x^2+10x+7 になる。これと元の多項式の最大公約数を求める……って整数係数では無理じゃないですか。有理数係数で考えれば出来るけど、有理数のクラスを作らないとならない。 ど…

バグ:GCD(最大公約数)が-1

なかなか興味深いバグが発生した。GCDが-1になるとは。 だいたい互除法のアルゴリズムは自然数を前提としているのではないか、そこをそのままパクってきて整数係数の多項式に使おうというのだから、当然マイナスには対応するべきであった。 一方、1がすべて…

プログラミングの世界は諸行無常

ドッグイヤーだし。いま最高にイケてる言語も来年には古くてイケてない言語になるし、いま最高にイケてるフレームワークも、すぐに古くさいフレームワークになる。 前回、プログラムをしたときは、wordleもどきから変更して数独もどきを作ったわけだが、GUI…

数学:多項式の次数

多項式の次数はその項の中で最も次数の高い項の次数とする。プログラムの場合は、配列に係数を入れて、インデックス0の所に定数項を入れ、インデックス1のところに1次の係数を入れというように係数を入れておいて、配列のサイズ-1から逆に配列の内容がゼロ…

プログラミング:因数分解のプログラムを作ろうと少し思いつつある

なんか理論に自信がなくなってきたので、プログラムを作って確認するしかない気がしてきた。めんどくさい。 適切なライブラリを使えば簡単なんだけど、そういうライブラリには既に因数分解のプログラムも入っているので、作る意味がない気もする。そして、プ…

数学:余り物には福がある

余談:(整係数)多項式の因数分解はちゃんと勉強したと思っていたが、復習してみたら、なんか見覚えないことがいろいろ出てきた。途中までやって放り出したのかも知れない。(よくあること) 本題:そんなに本題じゃない気もするが。「ユークリッドの互除法…

数学:多項式の微分と因数分解(無平方分解)

前振り。疫病が流行し、戦争が続き、淫祠邪教がはびこり、火山が噴火する。つらいので逃避するために、数学のことを考え、前に書いた因数分解の話の続きでも書こう。 ブコメにあったグラフを描くという方法が自分ではやった記憶がなくて、調べてみたがちょっ…

プログラミング:ふつうの9x9のナンプレも作った。

ミニナンプレのプログラムを元にしたら結構簡単に出来た(いやまあ、前に別の言語で作ってるから) ちゃんとやりたかった九字でナンプレが作れた。ダジャレとはちょっと違うが、まあダジャレみたいなものだ。まんぞく、まんぞく。 https://suginamitaro.gith…

プログラミング:データはバグらない。

プログラム作るとバグが出るけど、データならバグらないだろう。ということで、ナンプレのデータを公開する。これをもとに、かっこいいアプリとかを作ってくれ。 https://github.com/suginamitaro/npdata 実は、データにもバグはあって、ナンプレなら解けな…

趣味のプログラミング飽きた。

バグばっかりで思ったように動かない。もういや。 趣味の小説書きたい。いい加減な設定のいい加減な世界観で。小説はいいぞ、まず、パソコンとスマホとか対応を考える必要がない。ダークモードとかもないし。 せいぜい18禁にするかどうかという判断があるく…

ペンシルマークがあるとナンプレらしくなる

なんというか、ようやくペンシルマークを実装。これで断然ナンプレらしくなった。 ペンシルマーク と、同時に俺の老眼に厳しいパズルになってしまった。そしてこれを使って解くと、頭を使ったような気がしない。なんというか、鶴亀算を方程式で解いたような…

難しそうで、そんなに難しくなかったパズル

ミニナンプレ やな感じで解けそうもないというか、もうナンプレとしての難しさじゃないだろっていう気がするわけだ。 ナンプレ 途中経過 でも親切機能で、注目している文字が強調表示されるので、字が似ているなんことはあまり関係ない。この強調表示がない…

またまたパズルを作ったよ。

バグも多分ある、それだけでなく、脆弱性まである。 suginamitaro.github.ioミニナンプレ。あ、すっごく大事なことを忘れていた。と気がついて慌てて直す。(こうやってまたひとつバグが入るのです)。 遊び方をまず読んで。先に文字を入れる場所を選択し、…

プログラミング:ようやくcssのやつをちょっとばかりアレしてやった。

ずっとスマホ表示がおかしかった、自作wordle風パズル。なんとかスマホでも見られるようになった。おのれcssめ、つーか、cssファイルに入れようとしていたのが間違いで、このアレ(grid)を使おうとするとjavascriptで書いてセットしてやらないとならないので…