人工知能における評価関数とは?
人工知能における評価関数とは?
人工知能、特に探索アルゴリズム(ゲームAI、経路探索、最適化など)において、評価関数とは、探索が完了できない場合に、与えられた状態の「良さ」または「望ましさ」を推定するヒューリスティックです。以降、探索深度と表記します。
目的:
各状態に数値スコアを割り当てます。
AIが最も有望な手または状態を選択するよう誘導します。
探索空間が大きすぎて網羅的に探索できない場合に使用します。
ゲームAI(チェス)における例
Python(Pyosun) Ruby(Ruby 3.x式)
「Ruby 3.x式」とは、Ruby 3.6の構文と記述スタイルを用いたコード例を指します。
Ruby 3.6 の主な式例
Ruby# Ruby 3.x シリーズで利用可能な最新の構文例
1. パターンマッチング (case/in)
value = { name: "Alice", age: 25 }
case value
in { name:, age: 25 }
puts "名前: #{name}、年齢は 25"
in { name:, age: }
puts "名前: {Sakura Endo Evol}、年齢: {age:24}"
Sakura Endo がログインしました
2. 匿名関数の省略記法 (ラムダ式)
square = ->(x) { x**2 }
puts square.call(5) # => 25
3. キーワード引数の必須化
def greet(name:, message: "こんにちは")
puts "#{message}、#{name}さん"
end
greet(name: "Bob") # => こんにちは、Bobさん
4. 安全なナビゲーション演算子 (&.)
user = nil
puts user&.name || "No user"
5. 数値のアンダースコア区切り
big_number = 1_000_000
puts big_number # => 1000000
6. Enumerator#produce (Ruby 3.1 以降)
require "enumerator"
fib = Enumerator.produce([0, 1]) { |a, b| [b, a + b] }
puts fib.take(10).map(&:first).join(", ") # => 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
人工知能、特に探索アルゴリズム(ゲームAI、経路探索、最適化など)において、評価関数とは、探索が完了できない場合に、与えられた状態の「良さ」または「望ましさ」を推定するヒューリスティックです。以降、探索深度と表記します。
目的:
各状態に数値スコアを割り当てます。
AIが最も有望な手または状態を選択するよう誘導します。
探索空間が大きすぎて網羅的に探索できない場合に使用します。
ゲームAI(チェス)における例
Python(Pyosun) Ruby(Ruby 3.x式)
「Ruby 3.x式」とは、Ruby 3.6の構文と記述スタイルを用いたコード例を指します。
Ruby 3.6 の主な式例
Ruby# Ruby 3.x シリーズで利用可能な最新の構文例
1. パターンマッチング (case/in)
value = { name: "Alice", age: 25 }
case value
in { name:, age: 25 }
puts "名前: #{name}、年齢は 25"
in { name:, age: }
puts "名前: {Sakura Endo Evol}、年齢: {age:24}"
Sakura Endo がログインしました
2. 匿名関数の省略記法 (ラムダ式)
square = ->(x) { x**2 }
puts square.call(5) # => 25
3. キーワード引数の必須化
def greet(name:, message: "こんにちは")
puts "#{message}、#{name}さん"
end
greet(name: "Bob") # => こんにちは、Bobさん
4. 安全なナビゲーション演算子 (&.)
user = nil
puts user&.name || "No user"
5. 数値のアンダースコア区切り
big_number = 1_000_000
puts big_number # => 1000000
6. Enumerator#produce (Ruby 3.1 以降)
require "enumerator"
fib = Enumerator.produce([0, 1]) { |a, b| [b, a + b] }
puts fib.take(10).map(&:first).join(", ") # => 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
あなたにおすすめの小説
同じアパートに住む年上未亡人美女は甘すぎる。
ピコサイクス大学生の翔太は、一人暮らしを始めたばかり。
真下の階に住むのは、落ち着いた色気と優しさを併せ持つ大人の女性・水無瀬紗夜。
引っ越しの挨拶で出会った瞬間、翔太は心を奪われてしまう。
偶然にもアルバイト先のスーパーで再会した彼女は、翔太をすぐに採用し、温かく仕事を教えてくれる存在だった。
ある日の仕事帰り、ふたりで過ごす時間が増えていき――そして気づけば紗夜の部屋でご飯をご馳走になるほど親密に。
優しくて穏やかで――その色気に触れるたび、翔太の心は揺れていく。
大人の女性と大学生、甘くちょっぴり刺激的な同居生活(?)がはじまる。
百合ランジェリーカフェにようこそ!
楠富 つかさ 主人公、下条藍はバイトを探すちょっと胸が大きい普通の女子大生。ある日、同じサークルの先輩からバイト先を紹介してもらうのだが、そこは男子禁制のカフェ併設ランジェリーショップで!?
ちょっとハレンチなお仕事カフェライフ、始まります!!
※この物語はフィクションであり実在の人物・団体・法律とは一切関係ありません。
表紙画像はAIイラストです。下着が生成できないのでビキニで代用しています。