タグ

mathとprogrammingに関するmanabouのブックマーク (29)

  • Othello is Solved 論文解説 (私見) - Qiita

    今朝起きたら、とんでもない論文を見つけました。 Othello is Solved ゲームの オセロが"解かれた(弱解決)" というのです。飛び起きました。それで、16時まで二度寝してから読みました。 注意すべきは、この論文が査読を経て公開されているわけではないこと、つまり形式上特にチェックを受けたものではないことです。ただ、タイトルからして非常に衝撃的ですので、個人的に読んでみました。この記事では、私がこの論文(およびソースコード)を読んでわかったことを、なるべくわかりやすくまとめます。随時更新します。 余談ですが、このタイトルはどうやら、チェッカーというゲームが以前弱解決された際の論文"Checkers Is Solved"のオマージュだろうという話です。 この記事には専門用語が出てくるので、最後の方に基礎知識として重要な用語や知識をまとめました。 お詫びと訂正 この記事の内容は、私が

    Othello is Solved 論文解説 (私見) - Qiita
  • 頭が痛くならない「ダメージ計算式」の基本の話|だらねこ

    戦闘のあるゲームを作るなら、考えないといけないのがダメージの計算式。でも、計算式のコツとか基とか調べると、小難しそうな話が出てきて め、めんどくせぇ~ってなったりしませんか?私はなります。色んな計算式とその特徴を羅列されても、よくわかんなくなっちゃう。 とはいえ私もゲームデザイナーの端くれなので、ダメージ計算式を考える機会がそれなりにあります。そして他人の作った変な計算式に苦しめられることも、いっぱいあります。泣きたい。 大元の計算式が悪いと、それを利用してバランス調整しても苦労する事が多いんですよ。なので、そんな悲劇を少しでもい止めるためにもですね。 この記事では 数字が苦手な文系の人でも、なんかいい感じに計算式を考る…とっかかりになることを目指して書いていこうかと思います。 ※こういう計算式がある!選んで使え!!という記事ではありません。 ※計算式を考える時、こういうのを把握して、

    頭が痛くならない「ダメージ計算式」の基本の話|だらねこ
  • A Programmer's Introduction to Mathematics

    A Programmer's Introduction to Mathematics

  • 「映像も物理も、微分可能になるとすごいことが起きる」ということの意味を文系にもわかるように説明しようと試みる

    「映像も物理も、微分可能になるとすごいことが起きる」ということの意味を文系にもわかるように説明しようと試みる 2021.07.26 Updated by Ryo Shimizu on July 26, 2021, 07:12 am JST 最近のプログラミングの新しい波は微分可能プログラミング(differentiable programming)である。 微分可能プログラミングとは、簡単に言うと・・・と思ったが、簡単に言うのは結構難しい。 まず「微分」という言葉があまり簡単ではない印象がある。 まずは微分と積分の関係性を説明しておこう。文系の読者に向けた記事であるので、非常にざっくりと説明してみよう(そのかわり、元々数学が得意な読者にとっては直感的ではない説明になるかもしれない)。 まず、瓶からコップにジュースを移すような状況を想定してみる。 瓶からコップが一杯になるまで60秒で注ぐとし

    「映像も物理も、微分可能になるとすごいことが起きる」ということの意味を文系にもわかるように説明しようと試みる
  • 技術ようつべチャンネル集 - Qiita

    役立つYouTubeのチャンネルまとめ 数学、物理、アルゴリズム、プログラミング、などなど自分が使う技術に役立ちそうだな、困ったときによく見たなと思うチャンネルを紹介する。 取っ掛かり、ハマりがち、コツみたいな物が拾える。数学がメイン。随時更新していくつもり。 当たり前だけどちゃんとも読んで勉強するんだぞ。 背景 YouTubeは視聴する登録チャンネルの数が増えると、チャンネルが埋もれて発掘困難になりがち (chrome拡張でできるチャンネルのフォルダ分け機能は、ぽちぽち登録するのも面倒で、そのフォルダの中から掘り出すのも難しい) モチベが上がる(おべんつよしたい)チャンネルを探してるうちに湧いてくる、わんにゃんコンテンツ(だいちゅき)に流され一日が終わるため、 モチベが上がる有用なチャンネルにすぐにたどり着くために、よく使うQiitaに列挙しておくことにした Streamや大学専用サイ

    技術ようつべチャンネル集 - Qiita
  • この半年やったこと、継続していること - from scratch

    syohex.hatenablog.com studio3104.hatenablog.com あまりにも同じことをしていたので「せっかくなので」と思って筆を執ることにする。 @syohex さん も @studio3104 さん も僕もだいたい同年代の人たちが同年代の sugyan や色々な方の影響を受けて同じことをしているというのはシンパシーを感じますね。 僕は今の仕事フロントエンドエンジニアであることが多いのですが、「知識に垣根は作らない」をモットーにしているので、色々半年間挑戦してみました。 Leetcode この半年で545問解きました。 github.com sugyan が leetcode に取り組んでいたのも見てたのですが、僕の場合は自分の会社の面接でコード面接をやることがあり、コード面接の時に自分が知らないような事を問題として出すのは恥ずかしいな、という思いから勉強し

    この半年やったこと、継続していること - from scratch
  • GitHub - varkor/quiver: A modern commutative diagram editor for the web.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - varkor/quiver: A modern commutative diagram editor for the web.
  • 超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita

    1. はじめに ~メインを読むための準備~ まず、大きな数の計算の話をする前に、少しコンピューターと計算回数について話しましょうか。 コンピューターは、現代ではソフトウェアやアプリケーションの開発に使われていますが、これには重要な背景があります。これは「計算がめっちゃ速いこと」です!人間なんかと比べたら、圧倒的な計算スピードを誇ります。 1-1. 人間の計算速度はどのくらい? まず人間はどのくらいの速度で計算できるでしょうか?速い人も遅い人もいると思います。 例えば、$628 \times 463$ の計算を、今やってみましょう。10 秒以内で計算できたらかなり速い方でしょう。この計算では、次のように「単純計算」を合計 28 回もしていることになります。 9 回の 1 桁 × 1 桁の掛け算 6 回の 1 桁 × 1 桁の足し算 13 回の繰り上がり計算 もし $628 × 463$ が

    超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita
  • プログラミングできる人とできない人との間の深い溝 - masatoi’s blog

    どうしてプログラマに・・・プログラムが書けないのか?を読んでいて出てきたので出展の一つを訳してみた。Separating Programming Sheep from Non-Programming Goatsの和訳。 プログラミングというものには向き不向きが強く出るということはわりと知られていると思うが、このエントリではプログラミングができるかできないかは比較的簡単なテストによって、プログラミングの訓練を始める前の段階で分かると主張している。どうしてプログラマに・・・プログラムが書けないのか?では、そもそもこの事前テストをパスしていないような人達までプログラマとして応募してくると言っており、その判定法として有名なFizzBuzz問題を挙げている。 追記(2019/2/28) 注意: なおこの論文はしばらく前に著者の一人によって撤回されたようです Camels and humps: a r

    プログラミングできる人とできない人との間の深い溝 - masatoi’s blog
  • 再読必至!文系向けオススメ理系本10選|高井宏章

    こちらの投稿はツイッターのアンケートでご要望が多かったテーマです。今後も企画募集をやるのでこちらからぜひフォローを。理系になれなかった文系君 「文系・理系という分類は日独特のおかしなモノだ」なんて説があるが、現実には、この仕分けはある程度ワークしていると思う。 私は文系だ。残念ながら。 なぜ残念かというと、正確には「理系に憧れたけどセンスが無かったのであきらめた文系」だからである。 理系の道を断念したのは高校時代のバスケ部の友人Tの存在が大きい。 高校2年の初夏のころだっただろうか、私は数学の問題集を開いて別の友人と「この問題さっぱり解き方が見えないんだけど」と話していた。 すると、居合わせたTが一瞥するなり、 「なかなか面白い問題だね、これ!」 と一瞬で解法を見抜いた。秒殺である。 Tとは帰宅の方角が同じで、部活後などの帰り道にたくさん話をした。 そう頻繁に勉強が話題になったわけではな

    再読必至!文系向けオススメ理系本10選|高井宏章
  • 三角関数、何に使うの?→点を回すことができます(すごい) - アジマティクス

    数学的な内容を表現したアニメーションをいろいろ作って遊んでます。例えばこんなのとか。 素因数ビジュアライズ。大きく灰色で表示された数字の素因数が線を横切ります pic.twitter.com/z1MHJzPtbv — 鯵坂もっちょ🐟 (@motcho_tw) February 7, 2018 たくさんの点を、それぞれの点に書かれた数に応じた速度で回すことにより、大きく灰色で表示された数の素因数を表現しているわけです。楽しいですね。 こんなのもあります。 3Dで図示してみました。 pic.twitter.com/AF2R1QEtqk — 鯵坂もっちょ🐟 (@motcho_tw) April 12, 2017 九九におけるの段の「一の位」は、ぐるぐる回る点によって表現することができます。面白いですね。 変わったものでは、こういうのもあります。 惑星が「惑星」と呼ばれる理由ですhttps:/

    三角関数、何に使うの?→点を回すことができます(すごい) - アジマティクス
  • プログラミングに数学が必要な理由【関係ある?】【プログラマー必見】 - 我、京大生ぞ

    こんにちは、京大生ブロガーのゲーテ(@goethe_kyodai)です。 プログラマーなのに「プログラミングに数学は必要ない」なんて思っちゃったりしてませんか? プログラミングの背景には、コンピュータ・サイエンスという学問があります。そのコンピュータ・サイエンスの理解には数学が必須です。 「数学が必要ない」と気で思ってる人は、コンピュータ・サイエンスが分かってなくてもできるレベルの仕事を任されているだけです。仕事のレベルが限定されるので一流プログラマーにはなれません。 プログラミングをやっていると、数学が大切だと思うことがたくさんあります。 プログラミングと数学の関係を踏まえて、プログラミングに数学が必要な理由 を説明します。プログラマーは必見です。 スクールの無料体験記事 CodeCampの体験記事 侍エンジニアの体験記事 TECH ACADEMYの体験記事 TECH BOOSTの体験

    プログラミングに数学が必要な理由【関係ある?】【プログラマー必見】 - 我、京大生ぞ
  • x + 0.25 - 0.25 = xが成り立たないxとは何か|Rui Ueyama

    スタンフォードのコンピュータサイエンスの授業で、ときどきこれは良問と思う問題がテストで出ることがある。僕の印象に残っているのは「xをfloatとするとき、x + 0.25 - 0.25 = xが成り立たないxを求めよ」というものだ。浮動小数点数を理解していないと、両辺が同じにならないケースがあるほうが不自然に思えるだろうから、この問題は浮動小数点数の奇妙さを結構うまく突いていると思う。この問題を元に浮動小数点数についてちょっと説明してみよう。 まずコンピュータ上での数について少し考えてみよう。コンピュータにおける数と、数学の整数や実数は、よく考えてみると全然違う。コンピュータは有限の記憶領域しか持っていないので、無数にある数を表すことが根的にできない。つまりコンピュータ上の数は「物の数になるべく似せた別の何か」だ。現実的には、例えば32ビットの数なら2^32パターンしか表せないので、そ

    x + 0.25 - 0.25 = xが成り立たないxとは何か|Rui Ueyama
  • プログラマの為の数学勉強会

    2013年 プログラマの為の数学勉強会 資料 第1回:イントロダクション 第2回:浮動小数点数・極限・微分 第3回:微分法の応用・多変数関数の微分法 第4回:微分法の応用(続き)・方程式の数値解法 第5回:微分方程式の数値解法・積分法 第6回:数値積分法・積分法の応用 第7回:行列・ベクトル・ガウス消去法 第8回:行列式・逆行列・連立一次方程式の直接解法 第9回:線型空間・線型写像・固有値固有ベクトル(その1) 第10回:線型変換・固有値固有ベクトル(その2)・内積空間 第11回:連立一次方程式の反復解法・二次形式・多変数関数の極値・重積分 第12回:確率論入門 第13回:情報量・エントロピー・重要な確率分布・大数の法則・中心極限定理 第14回:擬似乱数の生成法・推定 第15回:検定 第16回:検定の続き, 回帰分析 第17回:回帰分析の続き 第18回:ベイズ統計

  • 円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ

    あなたは円周率を何桁言えますか。3.14159…という、あの数字です。 円周率の小数部分は無限に続き、循環することもありません。 古来より、数学者は円周率の値を様々な幾何学的な近似や公式を用いて計算してきました。 その桁数は計算機の発明により飛躍的に伸び、収束の速い公式の発見や効率の良いアルゴリズムの発明などによって加速してきました *1。 5年前、私がまだ学生だった頃、円周率1億桁の計算に挑んだことがありました。 私にとって高精度計算の初めての挑戦で、様々な試行錯誤で苦労したのをよく覚えています。 itchyny.hatenablog.com 2017年現在、円周率計算の世界記録は22兆桁です。 円周率計算の歴史をご覧いただくとよく分かると思いますが、近年の円周率計算の世界記録からは次のような特徴が読み取れます。 2002年に1兆を超え、最新の記録 (2016年) は22兆桁 (10進数

    円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ
  • 数式とプログラミングの関係 - Qiita

    はじめに 機械学習や深層学習を勉強するときに,様々な数式が出てきます. 「数式じゃわからなんよ?プログラムでよろ」みたいな人向けの記事(?)になってます. ひとまず,基統計量の数式とそれに対応したサンプルソースコード(C++)を貼ってありますので参考にどうぞ. 基統計量 データのばらつき具合を表現するには,最大値・最小値・総和・平均・分散・標準偏差あたりでしょう. あとは,中央値,最頻値,正規化あたりを知っていればなんとかなる…はず 最大値・最小値 / max, min \begin{align} x_M&=\max_{i=1,...,N} {x_i}\\\ x_m&=\min_{i=1,...,N} {x_i} \end{align} int max = x[0]; // 最大値用初期値 int min = x[0]; // 最小値用初期値 for(int i=1 ; i<N ; i

    数式とプログラミングの関係 - Qiita
  • https://qiita.com/akaneko3/items/8befac1cd5969aad2075

  • 乱数にコクを出す方法について

    深津 貴之 / THE GUILD / note @fladdict アニメーションの監修で、「 Random();の代わりに、(Random()+Random()+Rrandom()+Random()+Random())/5.0f; を使うと、動きにコクが出る」と言ったら、ピュアオーディオ扱いされるのですが・・・これは根拠のあるアルゴです。 2016-11-03 11:29:43 深津 貴之 / THE GUILD / note @fladdict 乱数のコクをチューニングする話をすると、なぜピュアオーディオ扱いされるのか? みんな乱数の波動を、もっと体で感じようよ。全然ヴァイブレーションが違うよ。 2016-11-03 11:36:47

    乱数にコクを出す方法について
  • Webプログラマと数学の接点、その入り口

    フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発

    Webプログラマと数学の接点、その入り口
  • 機械学習の基礎知識としての数学 - learning.ikeay.net

    私がAI人工知能)や機械学習って難しいナーと感じるところは、数学の前提知識がある程度必要なところです。 GoogleからTensorflowが出たときに、私もいっちょやってみるかなんて思ったのですが、参考にした記事もなかなか難しくてあんまり理解できなかったのを覚えてます。途中まで理解出来てたのに、急に数式が出てきて「なるほどわからん!」ってなることが多かったですね。 「というかエンジニアなのに数学苦手なのw」とビックリされる方もいらっしゃると思いますが、エンジニアっつったって、今の御時世理系出身エンジニアばかりじゃないんです。でもエンジニア女子やってると自動でリケジョ扱いされるから面白いですね。 当面の目標としては、AIの中でも機械学習を学んでいきたいので(DeepLearningできるようになりたい!)、あると嬉しい数学の知識としては以下です。 線形代数 確率・統計 微分・積分 AI

    機械学習の基礎知識としての数学 - learning.ikeay.net