タグ

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

  • ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread

    30年ぶりにファミコン版ドラクエ4をプレイしたので、AI戦闘の仕様についてまとめます。ソースは主に下の記事と自分でプレイした検証結果です。 件に関しては下の記事以上に詳しい情報はないと思われますが、仕様解析というコンセプトで非常に詳細に記載してくださっているため、この記事では自分なりに実プレイ上有用かなと思えるレベルでまとめました。 ご一読いただければ「なぜブライやミネアがいまいち使えなかったのか」といった疑問も解消すると思います。 なお、以下に記載の内容は100%正確とは限りません。 ソースの解析記事を私が誤読している可能性があるのと、一部自分で補完した内容はあくまでプレイ検証して「おそらくこうだろう」と結論づけているに過ぎないためです。ご了承ください。 基礎知識まず基礎知識。 ある程度詳しい方、少し調べたことがある方ならこの辺りはご存じの内容になるかもしれません。 AIは「モンスター

    ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread
  • 何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog

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

    何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog
  • PNGファイル爆発しろ!

    まえがき Web上で広く利用されるPNG(Portable Network Graphics)フォーマットは、デジタル画像を変化させずに小さいデータサイズへ変換する圧縮技術の一種です。PNGフォーマットはオリジナル画像を完全復元可能な可逆(lossless)圧縮ですから、JPEGフォーマットのように画像を歪めてしまう非可逆(lossy)圧縮ほどは小さくできません。それでもオリジナルのデジタル画像データの半分程度まではサイズ削減可能な画像圧縮アルゴリズムと言われています。[1] そげぶ いいぜ てめえが何でも思い通りに圧縮出来るってなら まずはそのふざけた幻想をぶち壊す!! (スペース都合によりAA省略) 記事では、PNGフォーマットを画像データ圧縮(compress)用途で利用するのではなく、オリジナル画像データよりも遥かに巨大なPNGファイル を生成します。 PNGフォーマットでは任意

    PNGファイル爆発しろ!
  • Twitterが「人種差別をなくすため自動トリミングをやめる」と発表

    Twitterが2021年5月19日に、画像を自動でトリミングする機能にわずかながら「白人を優先的に中心に収める」という傾向があったとの調査結果を発表しました。これを受けて同社は、自動トリミング機能のアルゴリズムを段階的に廃止し、トリミングに関する判断をユーザーに委ねる方針を固めました。 Image Cropping on Twitter: Fairness Metrics, their Limitations, and theImportance of Representation, Design, and Agency (PDFファイル)https://arxiv.org/pdf/2105.08667.pdf Sharing learnings about our image cropping algorithm https://blog.twitter.com/engineering

    Twitterが「人種差別をなくすため自動トリミングをやめる」と発表
  • hashアルゴリズムとハッシュ値の長さ一覧

    「ハッシュ値の衝突」(コリジョン)や「データの改ざん防止」など、複数のハッシュ・アルゴリムを組み合わせるために、ハッシュ値の「長さ」と「速度の目安」一覧が欲しい。 ... ってか、ハッシュって、そんなにおいしいの?圧縮された暗号とちゃうん? TL; DR (今北産業) この記事はハッシュ関数の出力結果を桁数ごとに、まとめたものです。 ハッシュ関数の各々の「アルゴリズムが最大何文字・・の 16 進数で返してくるか」の事前確認に利用ください。 マスター、一番強いヤツをくれ。 バランス優先 👉 sha3-512(64 Byte, 128桁, 2020/12/22 現在) OS やプログラム言語間の互換性・強度・速度で、一番バランスが取れているハッシュ・アルゴリズム。使いやすさなら、SHA3-256。 互換性?ここでいう互換性とは「どの言語でも標準・・で大抵は実装しているアルゴリズム」のことです

    hashアルゴリズムとハッシュ値の長さ一覧
  • 約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita

    概要 『もっとより良いニュースアプリはできないだろうか』 そう考えてMenthasというニュースアプリを開発し、プログラマ向けニュースキュレーションサービスを作ってみた話 という記事をQiitaに書き、自分の予想を超えた反響を受けてから約3年になります。 しばらく開発の更新は留まってしまいましたが、ニュース推薦に関しての探求が終わったわけではなく、むしろ見えてきた課題のために数多くの論文を読んだりプロトタイピングを繰り返していました。 そしてつい先日、これまで解けなかった問題に対してようやく答えを自分なりに導き出すことができたため、骨格となるアルゴリズムの刷新に始まり、ついで開発もインフラからサーバサイド、フロントエンド・デザインと、全面的なリニューアルを行うことに成功しました。 新しいMenthasは以下のリンクから使用することができます。 https://menthas.com 今回は

    約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita
  • アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 プログラムの性能を改善して開発スピードを向上させるため、アルゴリズムを気軽に、かつ楽しく学べるWebサイトや書籍など、13種類のさまざまなコンテンツを紹介していきます。 アルゴリズム(algorithm)とは何なのでしょうか? 例えば、 Wikipediaにはこうあります。 アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。 「問題を解くための手順を定式化した」とは、ソフトウェアエンジニアにとって「プログラミング」のことです。 みなさんも日々の開発業務において、問題(要件)を解くための手順を考え、その手順を特定のプログラミング言語で表現していませんか? アルゴリズムは、一般に「ソート(整列)」や「探索」と

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Google、上位表示のみを重視したサイトを下位表示する品質評価を日本語検索に適用 有用で信頼できるオリジナルコンテンツを提供するサイトを上位表示

    Google、上位表示のみを重視したサイトを下位表示する品質評価を日本語検索に適用 有用で信頼できるオリジナルコンテンツを提供するサイトを上位表示
    satoshie
    satoshie 2017/02/03
    アルゴリズム知りたい
  • ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times

    Photo by Oferico 皆さんはアルゴリズムやデータ構造について勉強したことはありますか?そして、基的なアルゴリズムについて、どのようなものがあって、どのようなときに使うとよいかといったことを説明することができますか? 仕事をしていると、プログラミング言語等の勉強や業務に忙しくて、正直アルゴリズムどころではないという場合がほとんどでしょう。しかし、いつか勉強しようと思っていたけど、基的なアルゴリズムにどんなものがあるのかなんて今更聞けないな……ということもあるかと思います。 今回はそんな方に向けて、基的なアルゴリズムの一部の概要に加え、アルゴリズムの勉強に役立つサイト、書籍をご紹介したいと思います。 ■アルゴリズムを学ぶ意味 例えば、ソート等については、通常はすでにソート関数があるので、自分で作らなくても済む=アルゴリズムも勉強しなくていいと思ってしまうかもしれません。しか

    ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • Javaでダイジェストを生成する

    ダイジェストの概要 ダイジェストは、ハッシュ関数(1方向関数)を用いて、ある長さを持つデータを固定長のデータに変換したものです。ダイジェストから元のデータは復元できず、また理論上は異なるデータが同じダイジェストを持つ可能性はあるものの、そのようなデータを見つけることは非常に困難なため、データの一貫性のチェックや認証、暗号化に使用されます。ダイジェスト生成のアルゴリズムとしては、MD5やSHA-1が有名です。 ダイジェストを生成する Javaでダイジェストを生成するには、java.security.MessageDigestを使用します。ダイジェストの生成手順は以下のとおりです。 手順1: 使用するダイジェストのアルゴリズム名を引数としてセットして、getInstanceメソッドを呼び、MessageDigest型のインスタンスを取得します。以降はこのオブジェクトに対して操作を行います。 手

    Javaでダイジェストを生成する
  • 画像処理におけるアルゴリズム

    ここでは各画像処理におけるアルゴリズムを簡単に解説する。 2値化 明るさ調整 色成分の抽出 色反転 コントラスト調整 切り出し ガンマ補正 グレイスケール化 増色 画像枠付加 鏡像反転 ノイズ除去 輪郭抽出 輪郭追跡 拡大縮小 任意角回転 セピア調化 ぼかし 2値化 指定画像を白と黒の2階調の画像に変換する処理であり、研究で作成した2値化処理は単一手動閾値方式、P-タイル法、また、誤差分散法およびその拡張型である Floyd&Steinberg 型誤差分散、Jarvice,Judice&Ninke 型誤差分散の5つである。 次にそれぞれのアルゴリズムについて解説する。 単一手動閾値方式 指定された色深度を基準として、その値より入力画素の色深度値が明るければ白、暗ければ黒色として2値化する。下の式を用いている。 このとき、出力画像は初期状態で黒色となるので、入力画像の画素値が閾値以

  • 1