YAPC::Fukuoka 2025での発表『「正規表現をつくる」をつくる』のスライドです。
YAPC::Fukuoka 2025での発表『「正規表現をつくる」をつくる』のスライドです。
25519とはなんぞ 大きな素数である p = 2^{255} - 19 から取られている。 この素数のおかげで計算が高速になる。 楕円曲線とはなんぞ y^2 \equiv x^3 + ax + b \pmod{p} p が大きな素数。 y^2 と x^3 + ax + b それぞれ p で割った余りが同じになるような x と y の点を集めたら曲線になった どうやって暗号化してるの? 「点 P と点 Q を結ぶ直線が曲線と交わるもう一つの点の、 x 軸に対する対称点」を点 P と点 Qの加算の結果と定義する 図[1]で簡単に説明すると P と Q の足した結果が R になるような計算を加算と定義するということ。 k を秘密鍵として、ある点 P を k 回加算した結果 点 G と点 P を公開情報とする。 その場合高速に k 回加算する計算をする必要がある。(点 G と点 P から k を
我々チームUnagiはICFP Programming Contest 2025にて優勝することが出来ました。今回、私はこのコンテスト中に勤務先Sakana AIが開発するAIツール「ShinkaEvolve」を活用することを試みました。この記事では、ShinkaEvolveがコンテスト中に我々にどのように貢献したかを説明します。 ShinkaEvolveは我々の解法の中核である問題のSAT式へのエンコーディングを大きく改善し、解法全体を大幅(〜10倍)に高速化し、大規模な問題を最適に近いステップ数で解くことを可能としました。また、そこでShinkaEvolveが与えた知見が、その後に人間が設計した別の解法でもチーム内で活用されました。 (この記事は会社のブログリリースの元となった原稿です。会社からの許可に基づき、個人のブログ記事として投稿しています。) ICFP Programming
Skip to content → 記事まとめ 代数学 高速フーリエ変換の転置写像 拡張ユークリッドの互除法の簡潔な実装 素数列挙 エラトステネスの篩 線形篩 wheel sieve 素数が関する計算量解析 \(\bmod p\) でのべき乗根 Cipolla のアルゴリズム Tonelli Shanks のアルゴリズム 多項式の素因数分解 原始根 乗算:Karatsuba, Toom-Cook, FFT Multipoint Evaluation の アルゴリズム 多項式補間のアルゴリズム Subset Convolution のアルゴリズム 多変数畳み込み(切り捨て)のアルゴリズム データ構造 Union Find Union Find の計算量 最悪計算量を最小化した Union Find 永続データ構造 銀行家の Queue 永続配列 永続セグメント木・永続遅延セグメント木 組合せ
こんにちは👋 長く暑い夏が終わろうとしている今ですが、筆者は秋の季節を満喫しております。 LabBaseでは線形代数学の基礎を使って検索エンジンを構築していますが、レコメンド、検索アルゴリズムによく使われる王道の手法について記事を書くことにしました。 概要 線形代数学の特異値分解(SVD)の知識を活かして、原始的な画像圧縮アルゴリズムをRustで実装します。 SVDとは? SVDは、線形代数学でよく使われる行列の分解です。行列の分解は、同じマトリックスを他のマトリックスに分けて表現することです。SVDの他に、LU三角分解、QR分解などがあります。 SVDは、あるAというマトリックスの列空間と行空間の固有ベクトルを計算して、それぞれをUとVというマトリックスに収めます。さらに、Σという対角行列に、固有値の平方根を入れます。Vの転置行列をV'と定義しますが、以下の分解になります。 Σの体格行
はじめに 千葉大学・株式会社Nospareの川久保です.今回は,統計学(特に多変量解析)で多く出てくる行列演算の小技集を,線形回帰モデルにおける簡単な実用例を交えて紹介します. 転置に関する公式 行列の転置とは,$(i,j)$要素を$(j,i)$要素に入れ替えることです.$m$行$n$列の行列$A$の$(i,j)$要素を$a_{ij} \ (i=1,\dots,m; j=1,\dots,n)$とすると,$A$を転置した$n$行$m$列の行列$A^\top$の$(j,i)$要素が$a_{ij}$となります.また,自明ですが,転置行列の転置は元の行列になります.すなわち,$(A^\top)^\top = A$です. 行列の和の転置 行列$A$と$B$の和の転置は,転置行列の和です.つまり, が成り立ちます. 行列の積の転置 次に,行列$A$と$B$の積$AB$の転置としては,以下の公式が成り立
こんにちは!カヤック面白プロデュース事業部のおばらです。 普段は受託案件、特にインタラクティブな WebGL や Canvas2D を駆使する案件のデザイン&実装を担当しています。 先日出題したJS体操 第1問目、挑戦してくださったみなさまありがとうございました! 早速ですが最短文字数の回答は 44文字 でした! export default x=>x-(x%=.2)+.2-(.04-x*x)**.5 みごと44文字を達成した方は、 halwhite さん koyama41 さん sugyan さん tkihira さん たつけん さん の5名!(※ Unicode コードポイント順) おめでとうございます!! 最短文字数を狙った正統派の回答以外にも、裏技的な面白アプローチがたくさんありました笑 このアプローチは面白い、ぜひ紹介したい!という回答がいくつかあったので、解説記事は2回に分けて
楕円曲線暗号(ECC)は、今日広く使用されている暗号の中でも最も強力で、最も理解されていないタイプの1つです。Cloudflareでは、お客様のHTTPS接続からデータセンター間のデータの送信方法まで、ECCを幅広く活用しています。 基本的には、セキュリティシステムの背後にある技術を理解し、信頼できることが重要であると信じています。そのために、ユーザーと共有するために、ECCに関する優れた、比較的分かりやすい入門書を探しました。しかし、みつけることができなかったので、入門書を自分たちで作ることにしました。それが、この入門書です。 注意:これは、複雑な主題でブログ記事一つに要約することはできません。つまり、カバーすることがたくさんあるため長くなりますので、腰を据えて読んでみてください。要点だけが必要な方のために、要約は「ECCは次世代の公開鍵暗号であり、現在理解されている数学に基づいて、RS
この動画は3Blue1Brownの動画をUfoliumが翻訳・再編集し公式ライセンスのもと公開しているものです。 チャンネル登録と高評価をよろしくお願いいたします。 翻訳: Ufolium ufolium.comでは中高のレベルで楽しめる/学べる数学のコースを提供しています! https://ufolium.com https://www.youtube.com/@UCEmNPlkTWfM1zmLRjLW3CPQ 関連するこちらの動画もどうぞ 畳み込みの仕組み | Convolution https://youtu.be/CHx6uHnWErY 日本語版Twitter https://twitter.com/3B1BJP 元チャンネル(英語) https://www.youtube.com/c/3blue1brown 元動画(英語) https://youtu.be/bOXCLR3W
確率から画像処理まで、離散畳み込みと高速フーリエ変換(FFT) 激ムズ数え上げパズルと驚きの解法 https://youtu.be/FR6_JK5thCY フーリエ変換の解説動画 https://youtu.be/fGos3wrKeHY 【注釈】 整数のかけ算のアルゴリズムについて、FFTの"straightforward"な適用はO(N * log(n) log(log(n)) )の実行時間になる。log(log(n))の項は小さいが、2019年になってHarvey and van der Hoevenがこの項を取り除くアルゴリズムを発見した。また、O(N^2)を、必要な計算量がN^2と共に大きくなると表現したが、厳密にはこれはTheta(N^2)が意味するところである。 O(N^2)は計算量が高々N^2の定数倍になるという意味で、特に、実行時間がN^2項を持たないが有界であるアル
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今朝起きたら、とんでもない論文を見つけました。 Othello is Solved ゲームの オセロが"解かれた(弱解決)" というのです。飛び起きました。それで、16時まで二度寝してから読みました。 注意すべきは、この論文が査読を経て公開されているわけではないこと、つまり形式上特にチェックを受けたものではないことです。ただ、タイトルからして非常に衝撃的ですので、個人的に読んでみました。この記事では、私がこの論文(およびソースコード)を読んでわかったことを、なるべくわかりやすくまとめます。随時更新します。 余談ですが、このタイトルはどう
In computer science, the longest palindromic substring or longest symmetric factor problem is the problem of finding a maximum-length contiguous substring of a given string that is also a palindrome. For example, the longest palindromic substring of "bananas" is "anana". The longest palindromic substring is not guaranteed to be unique; for example, in the string "abracadabra", there is no palindro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く