タグ

関連タグで絞り込む (535)

タグの絞り込みを解除

algorithmに関するmanabouのブックマーク (720)

  • 【極を計算せずに制御系の安定性をチェック】ラウス・フルビッツの安定判別法(基本手法と応用) - 制御工学ブログ

    この記事ではラウス・フルビッツの安定判別法についてまとめます。制御システムの安定性について説明した動画や関連記事リンクは最下部に置いています。 伝達関数の安定性 ラウスの安定判別法 フルビッツの安定判別法 低次システムの安定性について 例題 ラウスの安定判別法の応用例 安定性の動画・関連記事 伝達関数の安定性 入出力伝達関数が与えられたとき、その安定性を判別するには、の分母多項式の係数に着目する必要があります。 \begin{equation} G(s) = \frac{N(s)}{D(s)} \end{equation} 分母多項式の係数を確認して安定性を調べます。まず、の係数を確認したとき、全ての係数が同じ符号である必要があります。例えば、が \begin{equation} D(s) = s^3 -3s^2+4s+2 \end{equation} と与えられると符号が異なる係数がある

    【極を計算せずに制御系の安定性をチェック】ラウス・フルビッツの安定判別法(基本手法と応用) - 制御工学ブログ
  • ゲームプログラミング研修 - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

    ゲームプログラミング研修 - KAYAC Engineers' Blog
  • 決定木の理論とフルスクラッチ実装とその解説 - tomtom58’s blog

    最初に 決定木の理論とフルスクラッチ実装とその解説というと、既に使い古された話題の様に感じてしまいますが、今回の記事から派生して、ランダムフォレスト、GBDT、XGboost(LightGBMは扱わないつもり)、因果木、因果フォレスト、ランダムフォレスト-learnerの理論とできる部分はフルスクラッチ実装、めんどくさいものは、理論と解説に抑えて扱っていこうと考えており、そのまず初めとして、決定木自体の理論に触れないことは、できないなと思い、決定木の記事を書こうと思った次第です。(めんどくさくなって書かないパターンも全然あり得るのでご了承ください)他の記事との差別化は、数式を含めた解説と、フルスクラッチ実装のコードと数式を絡めた解説みたいな感じで、初心者に超優しい解説記事みたいな感じで仕上げて見せると、書き始めは思っております。書いていくうちに、初心者に超優しくないじゃんみたいなことになっ

    決定木の理論とフルスクラッチ実装とその解説 - tomtom58’s blog
  • 詰将棋アルゴリズムdf-pnのすべて | やねうら王 公式サイト

    将棋AIで用いている詰将棋ルーチンにdf-pnというアルゴリズムがある。 これは、proof number(証明数)、disproof number(非証明数)を用いて効率的に探索を行い、その局面が詰むか、詰まないかを判定できるとても強力なアルゴリズムである。 将棋ファンなら『脊尾詰』と言う「ミクロコスモス」(1525手詰)を解く詰将棋専用ソフトについて一度ぐらいは聞いたことぐらいあるだろう。これは、脊尾さんが大学時代に作成されたプログラムである。そこに使われていたのが脊尾さんが考案されたdf-pnというアルゴリズムである。 df-pnに関しては、脊尾さん自身の論文(1998年)があるものの、要点しか書かれておらず、いまのようにGitHubにソースコードがあるわけでもなく、その詳細については長らく謎に包まれたままであった。(この脊尾さんの論文では、証明数のみを用いており、非証明数は陽には出

  • 『Winny』の金子勇さんの失われたED法を求めて - Qiita

    普段は「通知が迷惑かなー」と思ってブックマークしていただいている方に通知せず記事を編集しているのですが、この記事をブクマしていただいている方は続きが気になっている方だと思いますので通知させていただきます。 結論から言うと、この記事を読んだ @pocokhc (ちぃがぅ)さんという方が金子勇さんが書いたED法のサンプルプログラムを見つけてくださいました。 ちぃがぅさんの記事はこちら 自分で解明したかったという気持ちも無いことは無いですが、バズった時点で誰かが実装してくれそうな気はしていました。新卒からIT業界に入って4年目が始まったところですが、業務以外で初めて業界にコントリビュートできた気がして嬉しいです! 追記ついでに、謝罪します。初回公開時に記事タイトル含め文中で何か所か「Winney」と書いてしまっていた箇所がありました。失礼いたしました。誤字修正してあります。指摘してくださった何

    『Winny』の金子勇さんの失われたED法を求めて - Qiita
  • Winnyの金子さんのED法について | やねうら王 公式サイト

    Winnyの金子勇さんが考案された機械学習アルゴリズムED法を再現して実装した人がいていま話題になっている。 『Winny』の金子勇さんの失われたED法を求めて…いたら見つかりました https://qiita.com/kanekanekaneko/items/901ee2837401750dfdad いまから書くことは私の記憶頼りなので間違ってたらコメント欄で教えて欲しい。 1998年ごろだと思うのだが、私はWinnyの金子勇さんのホームページの熱心な読者だった。(ページも全部保存してたので私のHDDを漁れば出てくると思うが、すぐには出せない。) Winnyのβ版が発表されたのが2002年なのでそれよりはずいぶん前である。 当時、金子さんはNekoFightという3D格闘ゲームを公開されていた。そのゲームには、自動的に対戦から学習するAIが搭載されていた。 当時の金子さんのホームページの

  • 折り紙の科学 – 日本折紙学会

    折紙学会は、折り紙に関連した研究を促進・集約するため、機関誌『折紙探偵団』とは別に、和文雑誌『折り紙の科学』を2011年より新たに刊行開始しました。 このたび『折り紙の科学』は、学術情報の自由な流通とアクセシビリティの向上に向けて、オープンアクセスに移行することとしました。これにより、過去に誌に掲載された論文、および今後掲載される論文は、どなたでも無料で閲覧できるようになります。(2023/6/20) わたしたちは、学術的な知識と情報の自由な流通が、科学の発展に不可欠であると信じています。この取り組みによって、折り紙の科学的な知見がより広範な方々からアクセスしやすくなることで、誌が折り紙の科学の発展に寄与できることを願っています。 ◆論文は、各号の目次よりアクセスできます。 ◆第8号以前の各号の紙版、PDF版(第8号)の冊子ごとの販売は継続しています。 ◆第9号以降の号(Volum

  • 「線形代数で何を学ぶのか、何に役立つのか」大学や高専で線形代数を学び始めた人へ送るポスト→「学生時代に読んでみたかった」「意味や繋がりが理解できて初めて面白い」

    三谷 純 Jun MITANI @jmitani 筑波大学 システム情報系 教授('75生)CG/折紙/幾何/プログラミング,一風変わった折り紙の設計,制作をしてます.令和元年度文化文化交流使としてアジア諸国をまわってきました.主に数学と折紙と日常のことについてツイートします.折紙作品の写真をこちらで公開しています instagram.com/mitani.jun/ mitani.cs.tsukuba.ac.jp/ja/ 三谷 純 Jun MITANI @jmitani 理工系の大学生1年生の多くは まずはじめの数学で「線形代数」を学ぶことになると思います。 僕が学生だった頃、 「結局これって何を勉強しているの?」 という疑問がずっと拭えなかった記憶があります。 同じような疑問を持っている学生向けに、線形代数で何を学ぶのか説明する文章を作ってみました pic.twitter.com/1j

    「線形代数で何を学ぶのか、何に役立つのか」大学や高専で線形代数を学び始めた人へ送るポスト→「学生時代に読んでみたかった」「意味や繋がりが理解できて初めて面白い」
  • 拡散モデルと最適輸送 - ジョイジョイジョイ

    『最適輸送の理論とアルゴリズム』が重版して第 5 刷となりました。皆さまありがとうございます! 漫画家さんやイラストレーターさんが重版したときに重版感謝の描き下ろしイラストを投稿しているのを見ていいなと思ったので、僕も専門書が重版したときに重版感謝の書き下ろし専門記事を投稿します。 稿では、最近話題の拡散モデルと最適輸送の関係を直観的に解説します。 拡散モデルは画像の生成によく用いられる生成モデルです。モデルはノイズ入りの画像を受け取り、ノイズを除去することを目指します。生成時には、完全なノイズ画像からはじめて、モデルによりノイズを除去することと、微小なノイズを加えることを繰り返して洗練させていき、自然画像を得ます。 拡散モデルの動作の図示 このように、ノイズ から自然画像 までゆらぎながら変化する過程をブラウン橋 (Brownian bridge) と言います。ブラウン運動 (Brow

    拡散モデルと最適輸送 - ジョイジョイジョイ
  • 深層学習VS決定木:テーブルデータ分析の未来|PKSHA Delta

    深層学習の技術が著しく進歩した結果、コンピュータビジョンや自然言語処理、音声信号処理などの分野では深層学習モデルの性能が古典的な手法のを大きく上回っており、すでにスタンダードなアプローチになっています。 しかし、テーブルデータを扱うタスクにおいては、深層学習の有効性は明らかになっていません。記事ではテーブルデータにおける従来手法と深層学習の比較論文のご紹介をしていきます。 背景近年、テーブルデータを扱う深層学習モデルも登場し、一部の論文では決定木ベースのモデルと同等かそれ以上の性能を示しています。しかし、私が実務で試す中では決定木ベースのモデルの方が性能が高く、学習と推論が速く運用コストでも優れているため、深層学習モデル採用には至っていません。 より一般的なテーブルデータのタスクにおける、決定木ベースモデルと深層学習モデルとの性能比較の文献を調べたところ、NeurIPS 2022で発表さ

    深層学習VS決定木:テーブルデータ分析の未来|PKSHA Delta
  • 当たり判定について

    皆さん、こんにちは。VALORANTのゲームシステム開発チームでソフトウェアエンジニアをしているKevin Leeです。ゲームシステム開発チームは移動や戦闘、入力など、VALORANTのゲームプレイの核となる多くのシステムの開発を担当しています。この投稿では、FPSのゲームプレイにおける中心的システムのひとつである、当たり判定について説明します。 VALORANTのように1発のヘッドショットが勝負の明暗を決めるようなゲームでは、当たり判定はとても重要なシステムとなります。私たちの開発者としての目標は、プレイヤーが銃を撃った際にその結果が明白で、違和感がなく、何よりも正確であるようにすることです。 しかし現実には、当たり判定がおかしいと思われる動画を添えたメッセージを受け取ったり、投稿を見かけることもあります。私たちはこれらの報告をすべて深刻に受け止め、各動画を1フレームずつ確認して、システ

    当たり判定について
  • オンラインゲーム 10年の進化と同期方式の選び方 - きゅぶろぐ

    オンラインゲームを作ろう!と思ったことがある方は、 こちらの講演記事を1度は見たことがあるのではないでしょうか。 www.4gamer.net こちらの講演は、具体例を交えながら非常に分かりやすくオンラインゲームの主な同期方式が説明してあり、 2024年現在でもオンラインゲームの基礎を学ぶ資料として真っ先に名前を上げる最高の資料です。 しかしながら講演は2010年のものであり、オンラインゲームはこの10年余りで進化しています。 この辺りの進化の話を簡単にまとめつつ、オンラインゲームの同期方式の選び方を紹介します。 (上記講演記事の知識/用語を前提としているため、先に上記記事をお読みください。) オンラインゲームの民主化について 技術の話をする前に。 近年、「マルチプレイヤーゲーム」と聞いてオフラインの画面分割ゲームを想像する人はいないと言って良いほど オンラインゲームは民主化されてきました

    オンラインゲーム 10年の進化と同期方式の選び方 - きゅぶろぐ
  • GitHub - karpathy/minbpe: Minimal, clean code for the Byte Pair Encoding (BPE) algorithm commonly used in LLM tokenization.

    Minimal, clean code for the (byte-level) Byte Pair Encoding (BPE) algorithm commonly used in LLM tokenization. The BPE algorithm is "byte-level" because it runs on UTF-8 encoded strings. This algorithm was popularized for LLMs by the GPT-2 paper and the associated GPT-2 code release from OpenAI. Sennrich et al. 2015 is cited as the original reference for the use of BPE in NLP applications. Today,

    GitHub - karpathy/minbpe: Minimal, clean code for the Byte Pair Encoding (BPE) algorithm commonly used in LLM tokenization.
  • ナンプレ (いわゆる数独) の問題生成アルゴリズムの話。 | blog.dnpp.org

    概要 iOS と macOS ネイティブなアプリを作った ので、技術的な話を書きます。 詳細 拠所無い事情からコンピュータサイエンスというか基的なアルゴリズムの実装の勉強を leetcode でやっていた時期が 2023 年の 9 月頃にありまして、「折角勉強したんだし何か作るか」という気持ちでアプリを作りまして…。 リリースまでなんとか持っていった訳なんですが、実装だけならいいものの、ゲームデザインとか、 Web サイト作成とか、アイコン含むいわゆるデザイン的なものとか、そういうのも当に 1 人で全部やってたからなんやかんや 3 ヶ月かかってしまって、まぁ大変だったんですがそこそこ満足な出来栄えになったので是非ダウンロードして触ってみてください。 数独はニコリの登録商標となっているためアプリの名称はナンプレとしていますが、この記事はアルゴリズムの技術的な解説やゲームデザインの話といっ

  • 150 分で学ぶ高校数学の基礎

    [重要なお知らせ (2023/8/12)] 現在,スライドの p.10 に不十分な記述があります.ルートの答えは 0 以上の数に限定することに注意してください (たとえば -3 を 2 乗しても 9 ですが,ルート 9 は -3 ではありません).なお,現在筆者のパソコンが修理中でデータがないので,修正は 1 週間後となります. [目次] 第1章 数学の基礎知識(p.5~) 第2章 場合の数(p.31~) 第3章 確率と期待値(p.56~) 第4章 統計的な解析(p.69~) 第5章 いろいろな関数(p.103~) 第6章 三角比と三角関数(p.141~) 第7章 証明のやり方(p.160~) 第8章 ベクトル(p.187~) 第9章 微分法と積分法(p.205~) 第10章 その他のトピック(p.240~) スライドのまとめ(p.254~)

    150 分で学ぶ高校数学の基礎
  • Othello is Solved 論文解説 (私見) - Qiita

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

    Othello is Solved 論文解説 (私見) - Qiita
  • プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」

    コンピューター上でプログラムを動作する際に必要になるのがメモリです。プログラム自体をメモリに読み込む必要があるのはもちろん、プログラムが行う動作はほとんど「メモリから値を取りだして計算し、メモリに保存する」であるといっても過言ではありません。プログラムが動作する際にメモリがどのように管理されているのかについて、ベテランプログラマーのサム・ローズさんがブログで解説しています。 Memory Allocation https://samwho.dev/memory-allocation/ C言語の標準ライブラリには「malloc」と「free」という2つの関数が用意されています。この2つはなんと1979年のUnix v7から存在している歴史ある関数で、mallocがメモリの割り当てを担当し、freeがメモリの解放を担当しています。サム・ローズさんの解説は「この2つの関数の中身を自分で実装する」

    プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」
  • リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら

    リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者

    リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら
  • 暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-前半- - ABEJA Tech Blog

    はじめに このブログに書かれていること 自己紹介 注意 Part1 古典暗号 2つの暗号方式 スキュタレー暗号 アルゴリズムと鍵 シーザー暗号 原理 頻度分析 アルベルティ暗号 ヴィジュネル暗号 如何にしてヴィジュネル暗号は破られたか Part2 近代暗号 エニグマ エニグマの登場 エニグマの基構造 如何にしてエニグマは突破されたか 前提条件 必ず異なる文字に変換される性質を利用 ループを利用 まとめ 参考文献 採用情報 はじめに このブログに書かれていること 前半 古代暗号から始まる暗号の歴史 エニグマの構造と解読法について 後半(後半ブログは こちら) RSA暗号の基 楕円曲線暗号の基 自己紹介 こんにちは!株式会社ABEJAの @Takayoshi_ma です。今回のテックブログですが、ネタに5時間程度悩んだ挙句、暗号を取り上げることにしました!暗号化手法の解説にとどまらず、そ

    暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-前半- - ABEJA Tech Blog
  • アタリ・ポンの回路 - k-igrsの日記

    アタリのポンは1972年に発表された。設計者はアラン・アルコーン。 汎用CPUがない時代なので(intelの8008が1972年)TTLロジックで構成されている。 オブジェクトの移動、当たり判定、得点表示、フィールド描画等をすべて論理回路で実現している。 ポンの回路を解析している人がいてその説明からどのようにゲームを実現しているか見てみる。 参考にしたpdfファイル。 http://www1.cs.columbia.edu/~sedwards/papers/edwards2012reconstructing.pdf ポンは 二人用ゲーム パドルを操作してボールを打ち合い相手がミスをしたら得点 という単純なもの。ゲーム画面は Wikipediaポンより 画面から 左右にプレイヤーが操作するラケットがあり上下に移動する ボールはラリーによって左右に移動する 画面上部に得点が描画されている 画面

    アタリ・ポンの回路 - k-igrsの日記