ブックマーク / note.com/issei_y (11)

  • Twitterの名前を現在のお天気と連動させるアプリを公開した🌥️|山本 一成@Ponanza|note

    合計一万人の人に使ってもらったお天気絵文字アプリですが、TwitterAPIの仕様変更で機能が停止しました。みなさんありがとうございました。今サーバー側で完全にストップしました。自分としても大好きなプログラムでした。 https://t.co/6n1gOM3rvj — 山一成🌤️完全自動運転EV🚗Turing (@issei_y) April 13, 2023 3行でわかる使い方① Twitterの名前のどこかを@にする ② こちらのURLで認証する ③ 10分ぐらい待つ 利用者数 嬉しい事に1万人近くのユーザーが使ってくれています。(2020年現在) 動機 絵文字可愛いですよね😆 皆さんの中にも積極的に使われてい人もいると思います。私も絵文字がスキなので、Twitterの名前の部分がお天気情報🌦️と連動していたらいいなと思ってアプリを作っていました。かなり気分が良い機能だった

    Twitterの名前を現在のお天気と連動させるアプリを公開した🌥️|山本 一成@Ponanza|note
  • 「私プログラミングの才能がないのでしょうか?」という質問への返答|山本一成🚗TURING

    大学生3年生の子に「私プログラミングの才能がないのでしょうか?」という質問をいただいた。色々考えさせられる質問だったのでnoteにも共有してみたいと思う。 彼女の学科では全員、ぷよぷよで対戦するプログラムを作っているらしい。彼女自身も頑張ったが、トップレベルの人たちにはとても勝てそうにないと感じているそうだ。果たして彼女は才能ないのだろうか? 才能とはなんだろうか? 3月と4月生まれの子は質的は差がない。あるのは唯一学年が異なることだろう。4月生まれの子は小学一年生の時点ではかなりのアドバンテージを持っているのだ。その結果勝てるのでどんどん楽しくなる。これが才能なのだろうか?ぷよぷよで勝ち始めた子達はその時点で4月生まれになったのだ。彼女が才能がないんじゃないかと自分を疑っている間にも、どんどん4月生まれ達は上手くなっていくのだ。 4月生まれがどんどん走っていくので追いつけない?実際には

    「私プログラミングの才能がないのでしょうか?」という質問への返答|山本一成🚗TURING
  • 「将棋プログラムをどう作ればいいですか?」という質問への返答|山本一成🚗TURING

    Twitterのダイレクトメッセージで「将棋プログラムをどう作ればいいですか?」という質問をいただいた。色々考えさせられる質問だったのでnoteにも共有してみたいと思う。 Alpha Zeroのお話はこちらから読めます。私個人の予想としてはDeep Learningを駆使したプログラムが今後どんどん強くなると思っています。 職業柄、若い人達にしばしば、どうやって将棋プログラムを勉強すればいいですかと聞かれます。私の20代はすべて将棋プログラムに費やしてきたし、その過程はとてつもなく知的好奇心に満ちた素晴らしい旅路でした。ただ、すでに将棋プログラムは十分成熟した段階を迎えています。 時代の変化は確実にあります。以前、熱かった分野が今後も熱い分野になるとは限りません。将棋プログラミングも題材としては相変わらずとても面白いものですが、2018年現在では、多くの人にお勧めできる研究テーマとはなりに

    「将棋プログラムをどう作ればいいですか?」という質問への返答|山本一成🚗TURING
  • 人工知能するとプログラムは小さくなる|山本一成🚗TURING

    「Ponanzaってどれくらいの大きさのプログラム何ですか?」たまに聞かれる質問です。「私が一万行くらいです」と答えると、意外と小さいプログラムと思って、結構皆さんがっかり😞した顔をされたりするんですね。 確かにPonanzaよりも昔の時代の将棋プログラムはだいたい数万行を超えて居たようです。それが現代になるに従ってどんどん行数が減って来ています。なぜでしょうか? 実はPonanzaのソースコードのどこを探しても将棋の囲いや戦法あるいは手筋の情報は見つけられません。せいぜい王手は注意した方がいいよみたいな極めて基礎的な情報しか書いてません。それではどうしてPonanzaは将棋がで合理的なプレイができるのでしょうか?それは将棋の知識はすべてPonanza自身が機械学習によって習得しているからです。そしてその機械学習の結果はすべて数値データとして500MBくらいのバイナリファイルに保存されて

    人工知能するとプログラムは小さくなる|山本一成🚗TURING
  • フォントはフォントに大事|山本一成🚗TURING

    青森県に講演に行った帰りに主催者さんのご好意で青森県立美術館に連れて行ってもらった。素晴らしい作品群だったのですが、私の個人的に一番だったポイントは美術館の様々な場所で使われている青森フォントと呼ばれる日フォントでした。この記事のヘッダーの写真で使われているフォントです。縦横と斜めの線だけで構築されていて非常に印象的なものでした。 プログラマの世界は必ずしもデザインに興味がある人が多いわけではないです。しかしどのプログラマにも必ず関係するデザインの問題があります。それはプログラムを書く時にどんなフォントを使うかということです。 実は大半のフォントは文字の幅が揃っていません。しかし嬉しいことに世の中には幅が揃っている等幅フォントというのがあるのです。ちなみに私の等幅フォントはconsolasです。consolasかわいいです。等幅フォントがプログラマにおすすめです。 さて話が変わって、下

    フォントはフォントに大事|山本一成🚗TURING
  • エレガントな解法、エレファントな解法 〜モンテカルロ法を添えて〜|山本一成🚗TURING

    問 コインを100回投げて、表か裏が10回連続で出る確率は? 皆さんこの問題解けますでしょうか?私は正直解ける気がしません。そもそも何%くらいなのかすら、うまく推測できません。今日は、しかし皆さんには全然別の方法論を共有できればと思います。 その方法論とはずばり実際に投げてみましょう。「コインを100回投げて、表か裏が10回連続で出るかどうか」を100回あるいは1000回くらい試行してみたらそれなりに正しい確率が出ると思いませんか?実際にでます。 でもいくらなんでも現実にするのはつらいですよね。そこでせっかくなのでコンピュータに投げさせましょう。といっても実際に投げるのではなく、コンピュータの中で乱数(ランダム)を発生させて、それで投げていることにしましょう。プログラムで書くとこんな感じです。 コインを100回投げて、表か裏が10回連続で出るかどうか調べるプログラム。試行回数が増えるほどに

    エレガントな解法、エレファントな解法 〜モンテカルロ法を添えて〜|山本一成🚗TURING
  • 「この10年間のプログラミングの変化」というnoteを書いたらプチ炎上した話|山本一成🚗TURING

    先日、「この10年間のプログラミングの変化」というnoteを書いた。文章を要約すると「C++というプログラミング言語を使うより、コンポーネント化が進んだpythonというプログラミング言語を使うといいよ♪」ということだ。大筋では好意的な反応をいただいたのですが、一部のユーザーからは否定的な反応をいただいた。今日はそれについてちょっと話していきたいと思う。 否定的な反応/指摘の多くは、実のところ大体あっている。「pythonがいい」という主張を全面的に正解とするのはあまりにも乱暴だ。それぞれの言語にはそれぞれの強み弱みが当然あり、pythonが適していない場面などいくらでもあげることができる。なので重ねていうが、指摘そのものは正しい。しかしそれはプログラミング上級者たちであるあなた達だから気がつける話なのだ。世の中は上級者よりも初級者や中級者のほうが圧倒的に多い。そして大体の場合、初中級者は

    「この10年間のプログラミングの変化」というnoteを書いたらプチ炎上した話|山本一成🚗TURING
  • 機械学習から考える人間学習  アンサンブル学習編|山本一成🚗TURING

    たくさんの台数のパソコンがあった時に、比較的簡単に将棋プログラムを強くする方法に「合議」という手法がある。合議というのは、複数のPCでそれぞれ独立に探索をさせて、その結果を多数決を取ったりなどする手法だ。これだけで一台のPCに対して、合議側が勝率6割〜7割に到達したりする。 一般に機械学習をしたものをさらに性能をあげる手法としては、アンサンブル学習というのがあります。今話した合議もアンサンブル学習の一種と言えそうです。ポイントは複数の機械学習の出力を"混ぜる"のですね。多数決で混ぜるのが一般的ですが、色々な手法があります。前に話したXGBoostもそれ自体、アンサンブル学習がベースになっています。 さて、このアンサンブル学習なぜうまくいくのでしょうか?といっても賢明な読者のみなさんはなんとなくわかると思います。現代社会において、投票行動がうまくいくと仮定していることと一緒です。みんなそれぞ

    機械学習から考える人間学習  アンサンブル学習編|山本一成🚗TURING
  • この10年間のプログラミングの変化|山本一成🚗TURING

    はじめましてnoteの皆さん、名人を倒した将棋プログラムPonanzaというものを作っていた山一成と言います。この度ははてなから引っ越してきました。2018年になったので新しくブログ書いてみようかなぁ〜ってはじめました。 私がプログラミングをはじめたのは大学生だった時ちょうど10年前でした。そして今2018年になって、同じプログラミングにしても色々変わったなぁという印象です。今日はそのへんを皆さんと共有できたらなぁ〜と書きました。 あくまで私の観測範囲内での話をすればですけど、10年前のプログラミングの世界は速く動くことがかっこよかったです。実際にかっこいいだけでなく、必要とされる場面も多かったような気がします。私が愛用しているプログラミング言語はC++(シープラスプラス)と言って、まあそれは高速に動作することだけを意識して作られた言語でした。 加えて、今から考えれば一体なんでそんなトリ

    この10年間のプログラミングの変化|山本一成🚗TURING
  • Alpha Zeroの衝撃と技術的失業|山本一成🚗TURING

    2016年、Google DeepMind社から恐ろしい論文が出された、AlphaGoその名を冠した囲碁プログラムが既存の囲碁ソフトに勝率99%を叩き出したのだ。AlphaGoは強化学習とDeep Learningを組み合わせた囲碁プログラムで、その年に最強の囲碁棋士の一人である李世ドルさんに4勝1負で勝利した。その後も進歩を続けて今のAlphaGoの強さは人類が体感できるレベルを超えるほど強くなったと予想される。 2017年も終わりのころ、Google DeepMind社からまた途方もない論文が発表された。囲碁とほぼ同じ手法で最強レベルのチェスや将棋プログラムを超えたということだった。実際のところ正確に超えたのかどうかちょっとだけ疑問もあるのだが、まず前提として彼らの新手法が途方もない成果をあげたこと素直に祝福したい。彼らは自分たちのプログラムをAlpha Zeroと名付けた。 コンピュ

    Alpha Zeroの衝撃と技術的失業|山本一成🚗TURING
  • 三角関数や微分積分の教育は本当に必要か。|山本一成🚗TURING

    三角関数や微積分の有用性に疑問を投げかける政治家の話があった。それに対して私のTwitterのタイムラインでは蜂の巣を突いたようにこれらの有用性や美しさを表明するツイートで溢れた。しかし同時に疑問を湧く、若者の時間は貴重だ。大学はその希少性を理解しているだろうか。 この難題を考えるために、ブライアン・カブランさんの教育反対の経済学」を読んだ。ちなみにこのの価格が4800円と高いし、それに負けず中身もとてもボリューミーだ。 このの中身を紹介する前に幾つかの前提をみなさんと共有しておきたい。経済学が前提のこので「役に立つ」というのはほとんどの場合は個人もしくは国家の収入が増えるという意味である。またこのの著者及び私山一成は大学というシステムで便益を受けている側であることも追記したい。 統計的に大学卒業者は高校卒業者より給料が高い。アメリカだとその傾向は先進国の中でもさらに顕著で最

    三角関数や微分積分の教育は本当に必要か。|山本一成🚗TURING
  • 1