タグ

アルゴリズムに関するYassLabのブックマーク (8)

  • 6x6リバーシの神 - まめめも

    絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現

    6x6リバーシの神 - まめめも
    YassLab
    YassLab 2023/09/17
    “動かして見るとpanicで落ちました / usizeでオーバーフローが発生 / ネイティブビルドは64ビットなのでオーバーフローしないのですが、wasmは32ビットなのでオーバーフローが起きる。要するに完全に自分のせいでした”
  • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

    技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 20222023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

    Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
    YassLab
    YassLab 2023/09/02
    "私の卒論(2002)はスレッドライブラリ(pthread)の実装でして、20年たっても似たようなことしかやってねーな、という感想があります(でも、20年ずっと楽しいので幸せ。ちなみにYARV開発は2004年からなのでもうすぐ20年)"
  • 何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog

    不正アクセスによるIDとパスワードの漏洩を受けて、MD5によるハッシュ化について話題になっていました。システムを作る上で、パスワードの管理や認証はどう設計すべきかを考えるために、少し整理をしてみます。もし事実誤認があれば、どしどしご指摘ください。 == 2023/8/21追記 == この記事は、ハッシュの保存の仕方一つとっても、沢山の対策方法が必要であるということをお伝えするために記載しています。そして、これから紹介する手法を取れば安全とお勧めしている訳ではないので、その点をご留意いただければと思います。攻撃手法に応じての対応策の変遷を知っていただくことで、セキュリティ対策は一度行えば安全というものではないことを知って頂くキッカケになれば幸いです。 == 追記終わり == パスワードのハッシュ化 まず最初にパスワードの保存方法です。何も加工しないで平文で保存するのは駄目というのは、だいぶ認

    何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog
    YassLab
    YassLab 2023/08/20
    "ソルトの目的は究極的には元のパスワードを割り出し難くすることです。その目的から照らし合わせると、ユーザー毎のソルトを利用することによりユーザー毎に計算する必要が出てきます。つまり計算量が物凄く増える"
  • Birdwatch - 西尾泰和の外部脳

    We present an approach for selecting objectively informative and subjectively helpful annotations to social media posts. We draw on data from on an online environment where contributors annotate misinformation and simultaneously rate the contributions of others. Our algorithm uses a matrix-factorization (MF) based approach to identify annotations that appeal broadly across heterogeneous user group

    Birdwatch - 西尾泰和の外部脳
    YassLab
    YassLab 2023/07/12
    "「客観的ではないからゴミだ」と捨てるのではなくたくさん集める / そこから意味を引き出す / かつては「合計,平均,多数決」みたいにしょぼい特徴量しか使ってなかったので主観データをたくさん集めても有用でなかった
  • 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%高速化
    YassLab
    YassLab 2023/06/08
    “同社はAlphaDevを使って「ハッシュ化アルゴリズム(ハッシュ関数)」の高速化にも成功。処理速度は30%向上した。発見したアルゴリズムはいずれもオープンソース化する。”
  • 【パスワード】bcryptとは

    bcryptとは、Blowfish暗号を基盤としたパスワードハッシュアルゴリズム(暗号学的ハッシュ関数)です。 一般的にパスワードは、元に戻すことが困難である「一方向性関数」の性質を持つハッシュ関数を用いてハッシュ値で保管します。 次の図は、パスワードを「平文」「暗号文」「ハッシュ値」で保管していた際のイメージ図です。 「平文」は漏洩したらパスワードが盗まれてしまいます。 「暗号文」は暗号化されていますが「暗号文」を復号する「鍵」があればパスワードを解読できます。パスワードが情報漏洩した時点で、もしかしたら「鍵」も漏洩しているかもしれません。そのため、パスワードを暗号文で保管するのは十分な対策とはいえません。 そして最後は「ハッシュ値」です。適切なハッシュ関数を使っていればハッシュ値へと変換した値を元に戻すことは非常に困難です。 スポンサーリンク しかし「ハッシュ値」で保管するだけでは十分

    【パスワード】bcryptとは
    YassLab
    YassLab 2023/04/11
    "総当り攻撃などで十分な時間をかければ元のデータを推測されてしまう / 事実上不可能といえる時間にするためにストレッチングを実施 / 回数が多いほど解析が困難になるも、サーバ負荷が増えるというデメリットもある"
  • 近似最近傍探索の最前線

    MIRU 2019 チュートリアル http://cvim.ipsj.or.jp/MIRU2019/index.php?id=tutorial 松井 勇佑(東京大学生産技術研究所)http://yusukematsui.me/index_jp.html ベクトルの集合を前にして新たにクエリベ…

    近似最近傍探索の最前線
    YassLab
    YassLab 2023/04/03
    “近似最近傍探索は画像検索をはじめ様々な文脈で用いられる基本的な操作 / 本チュートリアルでは、アプローチや対象とするデータの規模に応じて近年の手法を分類し、その概観を示す”
  • RSAの終わりの始まり - 暗号移行再び - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前振り 全国の暗号を使うエンジニアの皆さんこんにちは。今日は暗号移行とRSA暗号の話をしたいと思います。まず暗号を利用している皆さんであればCRYPTRECの「電子政府推奨暗号リスト」のことはご存じですよね!(言い切るw) CRYPTRECから2022年7月(昨年夏)に暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準(PDF直リンク)が公開されました。この中では暗号のセキュリティ強度で各種暗号と鍵長が整理されています。セキュリティ強度はビットセキュリティと呼ばれるビットサイズ(共通鍵暗号の場合のビット長)で区分されます。暗号アル

    RSAの終わりの始まり - 暗号移行再び - Qiita
    YassLab
    YassLab 2023/01/19
    “電子署名の場合には署名者と検証者は別 / 1社だけの問題ではなく業界全体として取り組まなければならない課題 / 私もその業界の片隅に生息しているプログラマですので協力して一緒に明るい明日を目指しましょう!”
  • 1