2025.03.25

将棋AIで用いている詰将棋ルーチンにdf-pnというアルゴリズムがある。 これは、proof number(証明数)、disproof number(非証明数)を用いて効率的に探索を行い、その局面が詰むか、詰まないかを判定できるとても強力なアルゴリズムである。 将棋ファンなら『脊尾詰』と言う「ミクロコスモス」(1525手詰)を解く詰将棋専用ソフトについて一度ぐらいは聞いたことぐらいあるだろう。これは、脊尾さんが大学時代に作成されたプログラムである。そこに使われていたのが脊尾さんが考案されたdf-pnというアルゴリズムである。 df-pnに関しては、脊尾さん自身の論文(1998年)があるものの、要点しか書かれておらず、いまのようにGitHubにソースコードがあるわけでもなく、その詳細については長らく謎に包まれたままであった。(この脊尾さんの論文では、証明数のみを用いており、非証明数は陽には出
DeepMindによる最新の研究で、プロンプトエンジニアリングの新たな手法が発表されました。その手法は遺伝的アルゴリズムを用いてプロンプトを最適化するもので『Promptbreeder(プロンプトブリーダー)』と名付けられています。 Promptbreederは、従来のCoT(ステップバイステップ)手法を上回る性能を持つとされています。プロンプトエンジニアリングの分野において、新たな可能性を切り開くかもしれません。 参照論文情報 タイトル:Promptbreeder: Self-Referential Self-Improvement Via Prompt Evolution 著者:Chrisantha Fernando, Dylan Banarse, Henryk Michalewski, Simon Osindero, Tim Rocktäschel 所属:Google DeepMin
先日、革新的な画像の異常検知(SAA)が出てきました。 何やら革命的な臭いがする... SAMを使った異常検知手法https://t.co/wmwFcbULdq コードはこちらhttps://t.co/3npK3FhnEz pic.twitter.com/JDs30bEJyQ — shinmura0 (@shinmura0) May 22, 2023 本稿では、操作手順 & 触ってみた感想をご報告します。 特長 本題に入る前に、どこら辺が革新的なのかざっくり説明します。 ※ SAAの詳細は論文をご参照ください。 学習データは不要 通常、学習(正常)データを数百枚用意しますが、この手法では正常データを必要としません。 ドメイン知識を導入できる 予め、異常の傾向をプロンプトに入れることにより、異常の特徴をモデルに教えることができます。 二点目が特に大きく、今までの異常検知では、積極的に異常の傾
イントロChatGPTやBing、NotionAIなどの大規模自然言語モデル(LLM)を活用したサービスが注目を集めています。対話、要約、翻訳、アイデア生成などの多様なタスクにおいて、とても性能が高いです。ただ、ChatGPTでは、ときどき嘘が混じっていたり、文献が捏造されたりすることがあります。 ChatGPTとの対話画面(結果の書籍は存在しない)それを防ぐために、BingやPerplexityでは、文献を引用した上で、なるべく嘘が紛れ込まない形で回答してくれます。 Perplexityでは引用もつけてくれるしかし、これらのAIは、Web上の公開されている一部のデータを元に学習しているので、公開されてないデータに対しては当然ながら、正しく回答できません。 そこで、この記事では、自社が保有しているデータをChatGPTに組み込んで、自社オリジナルのPerplexityのようなシステムを作る
ジェイ・アラマールのブログより。 AIによる画像生成は、(私を含めて)人々の度肝をぬく最新のAIの能力です。テキストの説明から印象的なビジュアルを作り出す能力は、魔法のような品質を持ち、人間がアートを創造する方法の変化を明確に指し示しています。Stable Diffusionのリリースは、高性能(画質だけでなく、速度や比較的低いリソース/メモリ要件という意味での性能)なモデルを一般の人々に提供することになったのは、この開発における明確なマイルストーンです。 AI画像生成を試してみて、その仕組みが気になり始めた方も多いのではないでしょうか。 ここでは、Stable Diffusionの仕組みについて優しく紹介します。 Stable Diffusionは、様々な使い方ができる汎用性の高いものです。まず、テキストのみからの画像生成(text2img)に焦点を当てます。上の画像は、テキスト入力と生
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オセロAIってなんか難しそう?そんなことはありません。むしろゲームAIを学ぶ様々なレベルの人にこれ以上ないくらい最適です。この記事ではオセロAIを作ると何が良いのかをひたすら語っていきます。そしてオセロAIをこれから作る人のために参考になりそうな記事をいっぱい貼り付けていきます。 私自身はもうかれこれ1年以上オセロAIにどっぷりハマっています。詳細は以前書いた記事で。 オセロAIをおすすめする3つの理由 1. 原始的なゲーム木探索を学べる オセロは「二人零和有限確定完全情報ゲーム」と呼ばれる種類のゲームです。この名称を説明すると、 二人
オセロAIを作り始めた日のこと あれは2021年4月のこと、今思い返せば偶然が重なって起きた出来事でした。 第一の偶然は、ゲームAI(ゲームを自動プレイするAI)世界4連覇の方になぜかゲームAIの初歩的な話を30分程度教わっていたことです。 第二の偶然は、Twitterの知り合いが「オセロソフトRTA」なる競技をやっているのを目にしたことです。なんじゃそりゃ、と思った私はすぐに、その競技が 「オセロで遊ぶプラットフォームをどれだけ早く作るか」を競うものだとわかりました。 面白い、やってみよう。 YouTubeでライブ配信しながら、私はオセロソフトRTAをやってみました。その時のライブはこちら。3時間で完成できれば良いと思っていたのですが、思ったよりも早く終わってしまいました。 オセロAIでも作るか。 こうして私のオセロAI制作が開始しました。 何をしたら良いかわからなかった オセロAIを作
Word2Vecとは Word2Vecで演算処理する Word2Vecとニューラルネットワーク Word2Vecの仕組み CBoW Skip-gram Word2Vecを応用することができる分野 レコメンド 機械翻訳 Q&A・チャットボット 感情分析 Word2Vecの弱点 Word2Vecの派生系や類似ツール GloVe WordNet Doc2Vec fastText まとめ 参考 世界中のWebサイトの数は2014年に10億件を超えたようだ。そして、Facebookのユーザー数だけでも16億人を超えている。 そして、そのいずれもコンテンツの中身の大部分はテキストから成り立っていることだろう。 ということは、莫大に増大し続けるネット上のデータのほとんどはどこかの国の言葉だってことだ。世界中の人が毎日テキストデータを生成し続けたことはこれまでの歴史上無かったんじゃないだろうか。 もしそん
base_domain = MODE.get('production') url_base = 'https://{}/v1/candles?'.format(base_domain) url = url_base + 'instrument={}&'.format(currency_pair.name) + \ 'count=5000&' +\ 'candleFormat=midpoint&' +\ 'granularity={}&'.format(granularity.name) +\ 'dailyAlignment=0&' +\ 'alignmentTimezone=Asia%2FTokyo&' +\ 'start={}T00%3A00%3A00Z'.format(start) response = requests_api(url) def requests_api(url, p
みなさん、こんにちは! 突然ですが…皆さんには、ひいきにしている ゲームのキャラクターはいらっしゃいますでしょうか。 手ごわいボス敵や頼れるパートナー、愛嬌のある動きをするモンスター達は 一体どのような仕組みで動いているのでしょう? 今回の記事ではそんなゲームの中のキャラクター達を 魅力的に動かす仕組み、AIについて御紹介したいと思います。 改めまして本記事を担当させて頂きます、Cygamesエンジニアの佐藤です。 これまでコンシューマ機でのゲームAI開発に携わり、 ゲームならではのキャラクター表現の楽しさを追いかけてきました。 このブログを通じて、皆さんのゲームのキャラクターを より表情豊かに魅力的なものにする方法について、皆さんと一緒に考えていければ幸いです。 今回はゲームのAIをデザインするにあたって重要となる、 「知識表現を定義する」というステップと、 知識表現の一つである影響マッ
カーナビやスマートフォンのマップアプリなど、目的地への最短ルートを一瞬で割り出してくれるサービスのお世話になっている人も多いと思いますが、その仕組みがどうなっているのかを知っている人はほとんどいないはず。その処理には、ルート探索専用のアルゴリズムが用いられているのですが、そんなアルゴリズムの動作する様子や、種類の違いによる結果の変化をわかりやすく見せてくれるサイトが「PathFinding.js」です。 PathFinding.js http://qiao.github.io/PathFinding.js/visual/ このサイトでは、スタート地点からゴール地点までの最短ルートを発見するさまざまなアルゴリズムを、自分で設定を変えながらインタラクティブに体験できるようになっています。2点の間に障害物を配置することも可能で、以下のムービーでは画面左下の緑色の地点から右上にある赤い地点までのル
以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAIを
世界でもっとも強力な9のアルゴリズムを読んだ。 コンピュータサイエンスの優れたアイデアを紹介している。それらは私たちの生活を変えた。世界を変えたにもかかわらず広くは知られていない。 偉大なアルゴリズムというものは何なのか?本書はその偉大なアルゴリズムを次の基準で選定した。1)普通のコンピュータユーザが毎日使っているもの。2)現実世界の具体的な問題を解決するもの。3)コンピュータサイエンスの理論に関係のあるもの。 そのような基準から著者が選んだのが下記のアルゴリズムだ。 検索エンジンのインデキシング ページランク 公開鍵暗号 誤り訂正符号 パターン認識 データ圧縮 データベース デジタル署名 決定不能性 最初の二つのアルゴリズムのおかげでわたしたちは日々検索エンジンで有用な情報を入手できる。公開鍵暗号やデジタル署名のおかげで安全にインターネット上でクレジットカード情報などを交換できる。誤り訂
オセロプログラムの作り方 第1章 基本関数の実装 1.1 盤面の表現 1.2 石を返す処理 1.3 返した石を元に戻す処理 第2章 ゲーム木と探索 2.1 ゲーム木 2.2 Mini-Max法 2.3 Alpha-Beta法 2.4 順序付けと反復深化法 2.5 Scout法 2.6 ハッシュ法 2.7 前向き枝刈り 第3章 評価の方法 3.1 評価の基本 3.2 パターンによる評価 3.3 重みの最適化 第4章 オセロプログラムTurtle 4.1 盤面の取り扱いその1 4.2 盤面の取り扱いその2 4.3 評価関数 付録 付録A Thorデータベースのファイルフォーマット 参考文献 トップに戻る 意見、感想はdsanno@adachi.ne.jpまでお願いします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く