タグ

algorithmとmathに関するsomathorのブックマーク (18)

  • 活性化関数がよくわからん、という人 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Deep Learningについての基礎を教えていると、「活性化関数が何者かよくわからん」と多くの人が学習の最初の躓きポイントになった人が結構います。 入力と重みを行列の掛け算をして~、重みに従って入力が活かされる値が調整されて~、バイアスで調整して~ と、その辺りは高校数学の行列の知識で「なんかうろ覚えだけど言いたいことはわかる」とあまり躓くことはないのですが、 こいつにいきなり「活性化関数」がかけられます。 こいつは何者なんだと 恐らく最初はステップ関数やSigmoid関数が紹介されて「あ、値を0.0~1.0に丸める奴なのかな」と思

    活性化関数がよくわからん、という人 - Qiita
  • Othello is Solved

    The game of Othello is one of the world's most complex and popular games that has yet to be computationally solved. Othello has roughly ten octodecillion (10 to the 58th power) possible game records and ten octillion (10 to the 28th power) possible game positions. The challenge of solving Othello, determining the outcome of a game with no mistake made by either player, has long been a grand challe

  • 暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-後半- - ABEJA Tech Blog

    はじめに このブログに書かれていること 自己紹介 注意 Part3 現代の暗号 共通鍵暗号方式と鍵配送問題 鍵配送問題とは? 共通鍵暗号方式と公開鍵暗号方式の違いとメリット・デメリット RSA暗号 RSAで使われる鍵 処理手順 暗号化の手順 復号の手順 RSA暗号の数学的背景 一次不定式が自然数解を持つ理由 eとLの関係性 そもそもなぜこの式で元の平文に戻るのか?の数学的根拠 証明パート1 フェルマーの小定理 中国剰余定理 RSA暗号をPythonで 楕円曲線暗号 楕円曲線とは? 楕円曲線の式 楕円曲線における足し算の定義 楕円曲線における引き算の定義 無限遠点 楕円曲線における分配法則と交換法則 楕円曲線の加法を式で表現 点Pと点Qが異なる場合 点Pと点P 同じ点を足し合わせる場合 有限体 有限体とは? 有限体上の楕円曲線 楕円曲線暗号における鍵 ECDH鍵共有 数式ベースでの手順説明

    暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-後半- - ABEJA Tech Blog
  • 自動車工場のガロア体

    その誕生を地元新聞も経済新聞も記事にしなかった。2年後、『コードの情報を白黒の点の組み合わせに置き換える』と最下段のベタ記事で初めて紹介された時、その形を思い浮かべることができる読者はいなかった。いま、説明の必要すらない。QRコードはなぜ開発され、どう動くのだろうか。 QRコードは、自動車生産ラインの切実な要請と非自動車部門の技術者の「世界標準の発明をしたい」という野心の微妙な混交の下、1990年代前半の日電装(現デンソー)で開発された。 トヨタグループの生産現場では、部品名と数量の記された物理的なカンバンが発注書、納品書として行き来することで在庫を管理する。そのデータ入力を自動化するバーコード(NDコード)を開発したのがデンソーだ。 バブル全盛の1990年ごろ、空前の生産台数、多様な車種・オプションに応えるため、部品も納入業者も急激に増え、NDコードが限界を迎えていた。63桁の数字しか

    自動車工場のガロア体
  • 数理最適化の参考書

    専門家が執筆した数理最適化の書籍を紹介しています. 適当に書籍を並べただけですので内容については各自で確認をお願いします. 数理最適化全般 数理最適化の概観を知りたい人向け 穴井宏和,数理最適化の実践ガイド,講談社,2013. 数理最適化を現実問題の解決に活用するプロセスを知りたい人向け 岩永二郎,石原響太,西村直樹,田中一樹,Pythonではじめる数理最適化(第2版) ―ケーススタディでモデリングのスキルを身につけよう―,オーム社,2024. 三好大悟,Excelで手を動かしながら学ぶ数理最適化:ベストな意思決定を導く技術,インプレス,2023. 株式会社ビープラウド,PyQチーム,斎藤努,Pythonで学ぶ数理最適化による問題解決入門,翔泳社,2024. 数理最適化を初めて学ぶ人が手に取る入門書 福島雅夫,新版 数理計画入門,朝倉書店,2011. 久野誉人,繁野麻衣子,後藤順哉,数理最

    数理最適化の参考書
  • ECDSA署名の数学的理解とCloud KMSによる実装 - Gaudiy Tech Blog

    こんにちは!ファンと共に時代を進める、Web3スタートアップのGaudiyエンジニアをしている椿(@mikr29028944)です。 先日、Gaudiyではサーバーサイドウォレットの構築やEthereumにおけるECDSA署名の実装を行いました。 そこで今回は、少しニッチではありますが「ECDSA署名」をテーマに、Gaudiyの事業背景から、ECDSAの数学的な処理とコードまでを、実例をふまえてお伝えしてみたいと思います。 はじめに断っておくと、僕は大学時代にzk-SNARKsの理論を研究していたため、代数学を学んだことはありますが、この領域における専門家ではありません。なので理解が誤っている部分があれば、ぜひご指摘いただけると嬉しいです。 Web3スタートアップで働くことに興味がある方や、ブロックチェーンを業務で扱うエンジニアの方にご参考になればと思い、詳しく書いていたら1万5千字を超

    ECDSA署名の数学的理解とCloud KMSによる実装 - Gaudiy Tech Blog
  • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

    計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にあるを読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

    できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
  • 数学の難問「巡回セールスマン問題」の近似解を求める最良のアルゴリズムが数十年ぶりに更新される

    巡回セールスマン問題とは、「複数の都市を移動するセールスマンが全都市をちょうど一度ずつ巡り、総移動コストが最小の経路を求める」という数学の難問です。長年にわたり「クリストフィードのアルゴリズム」が巡回セールスマン問題の近似度が最も高いアルゴリズムとされてきましたが、新たに「クリストフィードのアルゴリズムを上回る近似度のアルゴリズムがあると証明された」という論文を、コンピューターサイエンスの研究者が発表しています。 [2007.01409] A (Slightly) Improved Approximation Algorithm for Metric TSP https://arxiv.org/abs/2007.01409 Computer Scientists Break Traveling Salesperson Record | Quanta Magazine https://www

    数学の難問「巡回セールスマン問題」の近似解を求める最良のアルゴリズムが数十年ぶりに更新される
  • 楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社

    お久しぶりです。yoshiです。みなさん、夏を満喫していますか? 私は溶けそうです。日の夏はとってもあつい。 覚えている方がいるかどうかは分かりませんが、以前私はRSA公開鍵暗号アルゴリズムを理解するという記事を書きました。今回はその続編(?)です。 楕円曲線について 楕円曲線、という言葉を事前知識無しで見ると、 多分こんな画像が脳裏に浮かぶと思います。違います。 楕円曲線の楕円は楕円積分から現れた言葉で、楕円積分は文字通り楕円の弧長などを求める方法なので全くの無関係とは言えませんが、少なくとも楕円曲線と楕円は別の図形です。楕円のことは忘れましょう。 実際の楕円曲線は、例を示すと以下のような曲線です。 一般化すると (ただし または ) という式で表されるこのような曲線をワイエルシュトラス型楕円曲線と呼びます。ワイエルシュトラス型、と付いているのは他のパターンもあるからで、 こんな形の楕

    楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社
  • 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂12を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要がある。要するに群・環・体の話だ。しかしこの記事の目的は代数学入門ではないので詳しい話は他の記事3に譲るとし、さっそく半環という概念を導入する。それは 半環は以下の性質を満たす二つの二項演算、即ち加法(和)"$+$" と乗法(積)"$\cdo

    動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita
  • プログラムで解く数学パズル: 囚人とスイッチの部屋の問題 - 解答の自動チェックのしくみ - 貳佰伍拾陸夜日記

    この記事ははてなエンジニア Advent Calendar 2018の18日目の記事です. 昨日はid:WindymeltのSmart::Argsのパーサを書いたでした. 明日の担当はid:hokkai7goです. 他の担当者の記事は割と業務っぽいものが多いですが, 今回は趣味っぽいゆるゆるのネタです. 社内でとある数学パズルを紹介したところAdvent Calendarに書いてくれとリクエストがあったので, 紹介します. 単に問題を紹介するだけでは面白くないので, コードを書いて解答できるようにしてみました. 問題 あなたは100人の囚人の一人です. 全員で以下のようなゲームをして, 見事勝利できれば全員釈放, 負ければ全員死刑となります. ゲーム開始と同時に全員別々の独房に入ります 独房内や通路で他の囚人とやりとりすることはできません ランダムに1人ずつスイッチの部屋に呼ばれます 十分

    プログラムで解く数学パズル: 囚人とスイッチの部屋の問題 - 解答の自動チェックのしくみ - 貳佰伍拾陸夜日記
  • 分散システム、本当に「正しく」開発できますか? #JTF2018 / July Tech Festa 2018

    July Tech Festa 2018 で使用したスライドです。二相コミットを例として、分散アルゴリズムの検証にモデル検査を使用する手法について解説しています。また、代表的なモデル検査ツールである SPIN、TLA+、P について、同じシステムを各ツールで記述してみることでその特定の違いについて学びま…

    分散システム、本当に「正しく」開発できますか? #JTF2018 / July Tech Festa 2018
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita

    はじめに はじめまして。 NTTデータ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 C や C++ を使用しているとしばしばビット演算を行う場面が出て来ます。 計算機リソースが限られている状況では、ビットを用いることでデータ量を少なく済ませたり、計算コストを小さく抑えたりすることができるメリットがあります。 記事では、ビット演算を用いて実現できる処理について、簡単なものから高度なものまで集大成します。極力わかりやすく頑張って執筆しました。特に前半 4 つはビットの説明の中でもかなりわかりやすい方だと思います。後半の 7 つのテーマは比較的高度なアルゴリズムの話題ですので、フラグ管理やマスクビットについて詳しく学びたい方は前半 4 つを中心に読んでいただいて、後半 6 つは必要に応じて読んでいただければと思います。反対にビットの知識はあってビットを用いたアルゴリズ

    ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita
  • 世界一簡単な、総当たり戦の試合の組み合わせの方法。スポーツ全般、将棋、囲碁、チェスなどで使える、複数チームでの総当たり戦に使える理論 - salon_hiyake's diary

    はじめに サッカーワールドカップのグループステージにおける、勝点、勝ち数、負け数、引き分け数、総得点、総失点、得失点差を自動計算するiPhoneiPadアプリの記事は読んでいただけたでしょうか? iPhoneiPadワールドカップのグループリーグを簡単に記録・シミュレートできるアプリを作ってみた。 - salon_hiyake's diary 実はこれ、サッカーだけでなく、あらゆるスポーツの、「複数チームにおける総当たり戦」で使える考え方が組み込まれているんです。スポーツだけでなく、将棋、囲碁、チェス、オセロ、その他ゲーム大会などにも応用が利くと思います。 今回は、その理論と仕組みについて、ちょっと解説してみます。 1. 総当たり戦での試合の組み方 ー4チームを例にー まずは試合を組まなければなりません。たとえば、ワールドカップと同じように、4チームの総当たりとしましょう。チームの名

    世界一簡単な、総当たり戦の試合の組み合わせの方法。スポーツ全般、将棋、囲碁、チェスなどで使える、複数チームでの総当たり戦に使える理論 - salon_hiyake's diary
  • JavaScript開発に役立つ重要なランダムの数式まとめ - ICS MEDIA

    プログラムで使うことの多い「乱数」。ゲーム開発やビジュアルアート、ウェブサイトのアニメーションにおいて乱数は非常に重要で、さまざまな用途で利用されています。プログラムで一般に乱数と聞くと、すべての数値が同じ頻度(分布)で出現する「一様乱数」と呼ばれる乱数をイメージする方が多いと思います。 多くの場合はこの「一様乱数」で取得した乱数を用いれば十分でしょう。しかし、場合によっては「一様乱数」ではなく、偏りのある乱数を用いることでコンテンツの見た目や現象の「自然さ」を演出することが可能です。 実は「一様乱数」に一手間加えることで、乱数の分布の偏りを制御できます。今回は乱数を使用して好みの分布を得るためのパターンをいくつか紹介します。 乱数分布のシミュレーションデモ (HTML5製) 次のデモはリアルタイムで乱数の出現頻度を計算し、グラフに可視化するコンテンツです。画面下のプルダウンで乱数の種類を

    JavaScript開発に役立つ重要なランダムの数式まとめ - ICS MEDIA
  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

    2015年12月17日、Google ChromeJavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • 単語の数学的表現メモ - Negative/Positive Thinking

    はじめに 単語をベクトルや確率分布などの数学的表現で扱いたい場合があったりする。 しかし、「どのようなベクトル・確率分布にすべきか?」などはタスクに依存したりして、自明じゃない。 たくさんあって、派生や新しいものもどんどんでていると思うので、どんなものがあるか調べたかぎりメモ。 One hot表現 各次元が「その単語か否か」を表すベクトルで表現 次元の大きさ=ボキャブラリ数 例: スカイツリー = (「船」か否か, 「スカイツリー」か否か, ... ) = (0,1,0,...) 素性のどれか1つしか1にならなくてスパースネスの問題がでる 未知語はゼロベクトルになってしまう 文字nグラムによる表現 単語の表層から得られる情報を利用 単語に出現している文字nグラムを利用 カタカナ語とか有効そう 例: スカイツリー = (「スカ」の出現回数, 「カイ」の出現回数, 「イツ」の出現回数, 「アア

    単語の数学的表現メモ - Negative/Positive Thinking
  • 1