【名著を抽象化するGPTへの質問】
Step-by-stepでブレインストーミングし「(本の名前)」をPythonに変換して実装可能なコードを出力してください。これは文字列をPythonで表示するという意味ではなく、「(本の名前)」の概念をコンピューティング分野の知識で抽象化してPython上の実装として具体化してください。
参照…落合陽一さんのtweet
【「五輪の書」とした場合】
『五輪の書』は宮本武蔵によって書かれた兵法書であり、剣術や戦術に関する知識や考え方が記されています。以下に、その概念をPythonコードに抽象化して表現した例を示します。この実装は概念的なものであり、実際のアプリケーションには適用できませんが、理解の助けになることを願っています。
import random
class Swordsman:
def __init__(self, name):
self.name = name
self.skills = []
def train(self, skill):
self.skills.append(skill)
def attack(self, target):
success = random.random() < 0.5
if success:
target.defend(self)
return success
def defend(self, attacker):
success = random.random() < 0.5
if not success:
self.die()
return success
def die(self):
print(f"{self.name} has died.")
class BookOfFiveRings:
def __init__(self):
self.elements = ["Earth", "Water", "Fire", "Wind", "Void"]
def apply_strategy(self, swordsman, element):
if element == "Earth":
swordsman.train("Stability")
elif element == "Water":
swordsman.train("Adaptability")
elif element == "Fire":
swordsman.train("Aggressiveness")
elif element == "Wind":
swordsman.train("Speed")
elif element == "Void":
swordsman.train("Emptiness")
このコードでは、Swordsmanクラスを用いて剣士の概念を表現し、BookOfFiveRingsクラスを用いて五輪の書の概念を実装しています。apply_strategyメソッドを通じて、剣士に対して五輪の書の要素に基づく戦術を適用しています。
【以上GPT-4 の回答より抜粋】
【感想】
まず、地・水・火・風・空の5つの概念が
以下のようにきちんと表現されています。
◇地(Earth)=安定性
◇水(Water)=順応性
◇火(Agressiveness)=攻撃性
◇風(Speed)=スピード
◇空(Emptiness)=無
プログラムとして実装はできないものの
具体⇔抽象 そのものであるChatGPTの
本領が発揮されているのではないでしょうか。
落合さんは般若心経でされていますが、
文系⇒英語+理系 への変換としても
大変面白いサンプルだと感じました。
プロンプトの「(本の名前)」を変更されて、
読みたかったけど読めなかった
名著で試されてはいかがでしょうか(*^^*)
2023/03/19 15:01