Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

Algorithmに関するhush_inのブックマーク (95)

  • 違法素数 - Wikipedia

    違法素数(いほうそすう/英: illegal prime)とは、素数のうち、違法となるような情報やコンピュータプログラムを含む数字。違法数(英語版)の一種である。 2001年、違法素数の1つが発見された。この数はある規則に従って変換すると、DVDのデジタル著作権管理を回避するコンピュータプログラムとして実行可能であり、そのプログラムはアメリカ合衆国のデジタルミレニアム著作権法で違法とされている[1]。 DVDのコピーガードを破るコンピュータプログラムDeCSSのソースコード 1999年、ヨン・レック・ヨハンセンはDVDのコピーガード (Content Scramble System; CSS)を破るコンピュータプログラム「DeCSS」を発表した。ところが2001年5月30日、アメリカ合衆国の裁判所は、このプログラムの使用を違法としただけではなく、ソースコードの公表も違法であると判断した[2

  • JavaScriptによるはじめてのアルゴリズム入門

    2024年11月5日紙版発売 河西朝雄 著 A5判/512ページ 定価3,520円(体3,200円+税10%) ISBN 978-4-297-14494-4 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Amazon Kindle honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「アルゴリズム入門」シリーズのJavaScript対応版です。アルゴリズムは,プログラムを効率的かつ正確に実行するための重要な要素です。プログラミング技術を上達させるためには,系統的に異なるさまざまな視点でのアルゴリズム学習が効果的です。書ではJavaScriptを用いて基的なアルゴリズムの概念と実装方法を学び,プログラムの流れを制御するための方法を理解していきます。学習には,Webベースの開発環境“p5.jsWe

    JavaScriptによるはじめてのアルゴリズム入門
  • ナンプレ (いわゆる数独) の問題生成アルゴリズムの話。 | blog.dnpp.org

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

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

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

    Othello is Solved 論文解説 (私見) - Qiita
  • 徐々に高度になるリングバッファの話 - Software Transactional Memo

    リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

    徐々に高度になるリングバッファの話 - Software Transactional Memo
  • レトロゲームのドット絵の拡大表示と EOTF/OETF の関係

    この文書では、 レトロゲームを最新の PC やコンソールに移植するような場合に必要となる、 低解像度のドット絵をドット感を残しつつ高解像度ディスプレイに拡大表示する処理についてまとめます。 そして、拡大処理で見落としがちな問題とその解決方法、および改良と高速化について触れます。 この文書では、ごく基的なバイリニアフィルタによる拡大処理のみを取り扱います。 高解像度化技術周辺や、CRT のスキャンラインや画素の再現は、この文書で取り扱う範囲外なので一切触れません。 また、 話を簡単にするため、拡大結果を sRGB 規格のディスプレイに表示するケースのみを考えます。 筆者はディスプレイの規格が専門分野ではないので、 色の定義などの理解が甘い箇所があるかもしれません。あらかじめご了承ください。 何か間違いがありましたら、ご指摘いただければ幸いです。 ドット絵の滲みを再現したい 当時のドット絵は

    レトロゲームのドット絵の拡大表示と EOTF/OETF の関係
  • DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化

    Google傘下のAI企業Google DeepMindは6月7日(現地時間)、アルゴリズムを開発するAIAlphaDev」が、人間が考えたものより高速なソートアルゴリズムを発見したと発表した。 ソートアルゴリズムは、入力されたデータを一定のルールに基づいて並べ替えるもの。ネット検索結果の並べ替えやランキング制作などIT技術の根幹を担う技術の一つ。今回AlphaDevが考案したアルゴリズムは既存のものに比べて、少量のデータなら最大70%、数十万規模の大量のデータなら約1.7%速く処理できた。 DeepMindはAlphaDevに新しいアルゴリズムを発見させるため、ソートの作業を「組み立てゲーム」としてプレイさせた。「正確にソートできる」「既存のアルゴリズムより高速である」という2点を満たせばクリアとした。 関連記事 OpenAIやDeepMindのCEOやトップ研究者ら、「AIによる人

    DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化
  • GPT-4は青色コーダーの夢を見るか - Qiita

    はじめに 2023/3/14にOpenAIがGPT-4という新しいAIモデルを公開しました。 このモデルはさまざまなタスクにおいてChatGPT(GPT-3.5)を大幅に上回る結果を示しています。 この記事ではGPT-4を用いて競技プログラミングがどのくらい解けるのかについて調べてみました。 下馬評 OpenAIが公開した論文によると、GPT-4のCodeforcesレーティングは392だそうです。 これはパーセンタイルでいうと下から5%らしいので、 そこまで競技プログラミングが得意なわけではないようです。 ただし、おそらくこれはGPT-4が完全自動でチャレンジした場合のことだと思われます。 GPT-4が書いたコードを人間がレビューすることでバグを修正し、より難しい問題が解ける可能性があると 筆者は考えました。 TL; DR ChatGPTを用いてAtCoder Beginners Con

    GPT-4は青色コーダーの夢を見るか - Qiita
  • LeetCode 150問を解いて起きた意外な変化

    はじめに 年末に Twitter でこのツイートを見かけました。 もともとアルゴリズムの勉強に興味があり、一年ほど前に数ヶ月だけ AtCoder をやっていましたが、途中で挫折してしまった自分にとって、NeetCodeの勉強ロードマップは非常に魅力的に感じました。(転職意欲があったわけではないです) NeetCode のロードマップ そこで、このロードマップに従って LeetCode の問題を 150 問解くことを決意し、結果的におよそ1ヶ月半で全ての問題を解き切ることができました。 この過程で、様々なことを学ぶことができました。中には自分が予想していなかった学びも多くありましたので、同じくアルゴリズムに興味のあるエンジニアの方に役立てていただけるよう、記録として残しておきます。 ハードスキル 📗 データ構造への理解 頻出するデータ構造について、それぞれの長所/短所を理解し、主要な処理の

    LeetCode 150問を解いて起きた意外な変化
  • 「競プロ典型 90問」Smallest Subsequence (最小部分列問題)

    最小部分列問題 「 競プロ典型 90 問」の 006 - Smallest Subsequence(★5) (最少部分列問題) という問題を解いてみたのですが、最初は解説をみてもさっぱり分からず打ちひしがれていました・・・。 が、けんちょんの競プロ精進記録 を見るに、どうもこの問題を解く途中で出てくる nex という配列が「極めて汎用性が高いので、実にさまざまな問題で活用できます!!!」ということらしく、ちゃんと理解しといた方が良さそうだ・・・ということで気を取り直して取り組んでみたところなんとか理解できました。 せっかくなので忘れないうちに解説記事を作って記憶を定着させたいと思います。なお後半の実装パートは、Haskell で実装します。 けんちょんさんの解説記事にあるとおり、この問題 (を全探索で解く場合) の解法のキーになるのは事前に「任意の文字が i 番目以降に出現する位置」を二次

    「競プロ典型 90問」Smallest Subsequence (最小部分列問題)
  • クックパッドマートの配送ルートを自動生成している仕組み - クックパッド開発者ブログ

    こんにちは、クックパッドマート流通基盤アプリケーション開発グループのオサ(@s_osa_)です。 生鮮品の EC サービスであるクックパッドマートでは、「1品から送料無料」をはじめとするサービスの特徴を実現するために、商品の流通網を自分たちでつくっています。 このエントリでは、商品をユーザーに届けるための配送ルートを自動生成している仕組みについて紹介します。 解決したい問題 配送ルートとは クックパッドマートにはいくつかの流通方法がありますが、ここでは「ステーション便」と呼ばれるものについて解説します。他の流通方法などを含む全体像が気になる方は以下のエントリがオススメです。 クックパッド生鮮 EC お届けの裏側 2022 年版 - クックパッド開発者ブログ ステーション便では、ハブと呼ばれる流通拠点からユーザーが商品を受け取りに行く場所であるステーションへと商品を運びます。東京都、神奈川

    クックパッドマートの配送ルートを自動生成している仕組み - クックパッド開発者ブログ
  • クリエイティブコーディングの教科書

    ゲームエンジンや3Dソフトウェアを利用して高度な表現ができるこの時代でも、プリミティブな描画や動き、アルゴリズムから学べることは多い。それらをJavaScriptで書くクリエイティブコーディングという形で学べる手引書が書となる。

    クリエイティブコーディングの教科書
  • How We Made Bracket Pair Colorization 10,000x Faster In Visual Studio Code

    Version 1.93 is now available! Read about the new features and fixes from August. Bracket pair colorization 10,000x faster September 29, 2021 by Henning Dieterichs, @hediet_dev When dealing with deeply nested brackets in Visual Studio Code, it can be hard to figure out which brackets match and which do not. To make this easier, in 2016, a user named CoenraadS developed the awesome Bracket Pair Col

    How We Made Bracket Pair Colorization 10,000x Faster In Visual Studio Code
  • 千葉の高専生、ハッカソンで最優秀賞 「量子コンピューターでお手軽機械学習」とは:朝日新聞GLOBE+

    越智優真さん。最近ギターを始め、軽音楽部にも入った。機械学習の勉強は「一日2時間ぐらい」という=木更津高専で、藤田明人撮影 木更津工業高等専門学校(千葉県木更津市)情報工学科に今春入学した越智優真さんは、4月、「Fixstars Amplifyハッカソン」(株式会社フィックスターズ主催)で、応募71作品の中で最優秀賞に輝いた。応募したのは中学3年のとき。他の応募者は、東大、東工大、早稲田大、慶応大、東北大などで専門領域を学ぶ大学生や大学院生が多く、越智さんの活躍は注目を集めた。 越智さんが応募したプログラムとアイデアの題名は、「浅(くて広い)層学習 少データでお手軽機械学習」だ。 機械学習は、人工知能AI)が自分で物事を学ぶための技術だ。その一つとして「深層学習(ディープラーニング)」があり、画像認識、音声認識、文章の要約、翻訳など幅広い分野への応用が期待されている。 深層学習は一般に、

    千葉の高専生、ハッカソンで最優秀賞 「量子コンピューターでお手軽機械学習」とは:朝日新聞GLOBE+
    hush_in
    hush_in 2021/09/15
  • FLoCとはなにか - ぼちぼち日記

    1. はじめに GoogleChrome/89よりトライアルを開始しているFLoC (Federated Learning of Cohorts)技術に対して、現在多くの批判が集まっています。 批判の内容は様々な観点からのものが多いですが、以前より Privacy Sandbox に対して否定的な見解を示してきたEFFの批判「Google Is Testing Its Controversial New Ad Targeting Tech in Millions of Browsers. Here’s What We Know.」が一番まとまっているものだと思います。 これまで Privacy Sandbox 技術に関わってきた身としては、各種提案の中でFLoCは特にユーザへの注意が最も必要なものだと思っていました。しかし、これまでのド直球なGoogleの進め方によって、FLoCのトラ

    FLoCとはなにか - ぼちぼち日記
  • Python言語による実務で使える100+の最適化問題 | opt100

    指針 厳密解法に対しては、解ける問題例の規模の指針を与える。数理最適化ソルバーを使う場合には、Gurobi かmypulpを用い、それぞれの限界を調べる。動的最適化の場合には、メモリの限界について調べる。 近似解法に対しては、近似誤差の指針を与える。 複数の定式化を示し、どの定式化が実務的に良いかの指針を示す。 出来るだけベンチマーク問題例を用いる。OR-Libraryなどから問題例をダウンロードし、ディレクトリごとに保管しておく。 解説ビデオもYoutubeで公開する. 主要な問題に対してはアプリを作ってデモをする. 以下,デモビデオ: 注意 基的には,コードも公開するが, github自体はプライベート そのうちにするかもしれない(予約はしているが, 保証はない). プロジェクトに参加したい人は,以下の技量が必要(github, nbdev, poetry, gurobi); ペー

  • 『ゼルダの伝説 風のタクト』にて“運任せで極めて厄介”とされた海戦ゲームの仕組みは、どのように解かれたのか。執念が生み出した最適解 - AUTOMATON

    RNG。もともとはRandom Number Generator、つまりは乱数を発生させる仕組みそのものを指していたこの略語は、転じてゲーマーにとっては「運要素」そのものを指す言葉となっている。RNGはスピードランナー達にとって最大の敵でもある。そして「いかにして自分の走るルートからRNGを排除するか」に心血を注ぐスピードランナー達、その一人が『ゼルダ』シリーズの走者として知られるLinkus7氏である。彼が今回RNGの魔の手から解放したタイトルは『ゼルダの伝説 風のタクト』(以下、『風のタクト』)、特にそのゲーム中に登場する「海戦ゲーム」だ。Linkus7氏はその戦いの軌跡を解説動画としてアップロードし、大きな反響を呼んだ。記事では「我々がいかにしてゼルダシリーズ最悪のミニゲームに決着をつけたか」というタイトルのその動画の内容の、日語での解説を試みる。なお解析が成功されたのは2020

    『ゼルダの伝説 風のタクト』にて“運任せで極めて厄介”とされた海戦ゲームの仕組みは、どのように解かれたのか。執念が生み出した最適解 - AUTOMATON
  • 遺伝的アルゴリズムでエッチな画像を作ろう!

    おわり 二つの画像のうち、どっちの方がエッチかを選んでください。 世代交代を経るごとに、だんだんとエッチな画像が表示されるようになるはずです。 Choose the lewder one, and you can make them more lewd. You will win when the AdSense on this site is stopped by Google because of "Sexually explicit content". ENGLISH よりエッチな画像を作るために、 ぜひ色んな人に広めてください。 ツイート ・展覧会ページでこれまでの画像を公開しています。 詳しい説明 スポンサーリンク みんなの好みを学習させて、「遺伝的アルゴリズム」によってエッチな画像を自動で作るためのシステムです。 遺伝的アルゴリズムとは、あるデータを目標に近づけるために使われる

    遺伝的アルゴリズムでエッチな画像を作ろう!
    hush_in
    hush_in 2021/01/16
    どんどんできてきてる…
  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • 海外で就職した話|takusemba

    先日、3年半ほど働いたサイバーエージェントを退社しました。来月からはオーストラリアに移住して、現地の企業でソフトウェアエンジニアとして働きます。 あまり技術以外の記事を書くのは得意ではないですが、自分にとって大きな節目なのと、海外での就職を考えてる人に少しでもでも参考になればと思い、自分の就職談を紹介できたらと思います。 入社までの道のり2017年に新卒としてサイバーエージェントに入社し、ABEMAでAndroidエンジニア(もしくは、Streamingエンジニア)としてアプリ開発に携わってました。 元々、海外で働きたい、海外に住みたいという願望があり、入社当時から海外での就職を模索していました。最初の1~2年は、特に海外で働くためのノウハウや知識もなかったので、とりあえずアメリカの知っている企業に片っ端から応募していました。何社からかは返事があり面接まで進むものもあったのですが、VISA

    海外で就職した話|takusemba