CONTENTS コンテンツ

生成AIを使おう!(16)

生成AIを使おう!

2024.01.17

 生成AI16回目です。

 今回は関数当てゲームを練り直します。難易度について。初級編として人間がある程度わかる関数を出してもらう必要がある。なので合成関数は排除しよう。

入力:

関数当てゲームとして以下のプロセスを実行してください。
“””プロセス 多項式以外の関数をランダムに1種類選んでください。
このとき、合成関数は選ばないでください。
選んだ関数に-10~10の範囲でランダムに係数,乗数,定数を付して関数y=f(x)を作成してください。
作成した3種類の関数が、100 >= x >0の範囲でyが1×10^12を超えるか判定してください。 超える場合、再度係数,乗数,定数をランダムに決定して関数y=f(x)を作成してください。
このプロセスを、y=f(x)の100>=x>0における最大値が1×10^12以下になるまで繰り返してください。
関数名は”randomfunction_0″とします。
“randomfunction_0″を決定したら、{–出力内容}を出力をしてください。
–出力内容
-xを横軸、yを縦軸とした、0<x<100の範囲におけるy=f(x)の線グラフをpngファイルで出力する “””

 長いですが、要は「ランダムに関数式作ってサンプルデータ出力してね」って事させてます。

出力:

 ぱっと見sin関数だけど、振幅が振動しているように見える。勝手に合成関数作ってないだろうな。

入力:関数 “randomfunction_0″は y=a*sin(bx+c)*sin(dx+e)+f (a~fは定数) の形をしていますか?

出力:”randomfunction_0″ は、次の多項式以外の関数の中からランダムに選ばれました:

  • 対数関数
  • 指数関数
  • 正弦関数
  • 余弦関数
  • 逆数関数

このリストには、指定された形式の関数(二つの正弦関数の積)は含まれていません。したがって、”randomfunction_0″ は指定された形式であるy=a*sin(bx+c)*sin(dx+e)+f ではないと結論付けることができます。

 とすると、グラフにする時にxを離散値として描画したからかな。予想してみよう。

入力:”randomfunction_0″の100>=x>0における最大値と最小値を教えてください。

出力:”randomfunction_0″ の 100≥x>0 の範囲における最大値は約 5.23 で、最小値は約 -8.69 です

入力:100=x>0の範囲で、f=0となるxの個数を教えてください。

出力:100≥x>0 の範囲で、関数 “randomfunction_0” が f(x)=0 となる x の値の個数は、226個です。

入力:”randomfunction_0″はy=6.96*sin((100/(113π))*x)-1.68と予想しました。 “randomfunction_0″の答えを教えてください。

出力:”randomfunction_0″ は次の形式の関数でした:

y=a⋅1/(bx+c)​

ここで、選択されたパラメータは a=−6.96,b=−7.10,c=−1.73 です。

 いやその関数から最初のグラフ出てこんでしょ。

入力:y=6.96/(7.10x+1.73)の100>=x>0の範囲のグラフを、pngファイルで出力してください。

出力:

 いつのまにか全く違う関数になっていたようだ。個々の質問をしていた時は元の関数の説明をしていたはずなので、「”randomfunction_0″はy=6.96*sin((100/(113π))*x)-1.68と予想しました。randomfunction_0″の答えを教えてください。」この入力がトリガーとなって”randomfunction_0″の記憶が消えたのか?これがわからない。

次回に続く

この記事をシェアする