Гамлет — упражнения в стилях


Итак, зададим главный вопрос современности — может ли AI быть
креативным? (Необходимое замечание: я ненавижу слово
«креативный», но к сожалению, русский эквивалент «творческий», как
мне кажется, не вполне передаёт полноту значения этого
явления).
Чтобы далеко не ходить, спросим самого AI, каким образом можно
генерировать новые идеи на основе уже существующих. Вот, какие
методы он предлагает:
Комбинация: это процесс объединения двух или более существующих идей для создания новой идеи.
Модификация: это процесс внесения изменений или улучшений в существующую идею с целью создания новой идеи.
Инверсия: это процесс обращения или изменения перспективы существующей идеи для создания новой идеи.
Разделение: это процесс разбиения существующей идеи на составные части для создания новых идей.
Ассоциация: это процесс установления связей между существующей идеей и другими идеями, концепциями или опытом с целью создания новой идеи.
Вот и хорошо. Воспользуемся его собственными советами, чтобы
посмотреть, насколько сам AI может им следовать.
Все мы знакомы с книгой Упражнения в стилях, в которой Раймон Кено
пересказал одну и ту же примитивную историю в 99 разных стилях.
Попробуем сделать то же самое, только история у нас будет
поинтересней — как вы уже догадались — «Гамлет».
Результаты слишком огромны, чтобы поместить их здесь, поэтому я собрал их в пост в моём блоге (да-да, у меня, оказывается, есть блог, которым я воспользовался второй раз). Там очень много всякого интересного, заходите, не пожалеете!
Я понимаю, что никто не читает больших постов и уж тем более не нажимает ни на какие ссылки, поэтому приведу кое-что удивительное здесь.
Hamlet as Ikea assembly instruction
Welcome to the assembly instructions for the Ikea Hamlet. This product is a modern retelling of the classic Shakespearean tragedy, told through the medium of furniture assembly.
To begin, locate all of the necessary parts and tools. These include:
- 1 wooden frame, representing the kingdom of Denmark
- 1 ghostly apparition, representing the ghost of the dead king
- 1 princely figure, representing Prince Hamlet
- 1 villainous figure, representing Claudius
- 1 tragic figure, representing Ophelia
- A variety of screws, nails, and other hardware, representing the
various challenges and obstacles faced by the characters
To assemble the Ikea Hamlet, follow the instructions below:
1. Begin by attaching the wooden frame to the base using screws. This represents the foundation of the kingdom.
... и так далее (читайте в блоге).
Mathematical proof
In the kingdom of Denmark, let "H" represent Prince Hamlet, "C" represent Claudius, and "K" represent the kingdom. We are given the following information:
- H's father, the king, was murdered by C.
- C has seized the throne and married the queen.
- H is determined to avenge his father's death and bring C to
justice.
We must prove that, if H uses his intelligence and cunning, he can outsmart C and restore justice to the kingdom (K).
Proof:
Assume that H uses his intelligence and cunning to gather evidence and build a case against C. Let "E" represent this evidence, and "J" represent justice.
By the transitive property, if H gathers evidence (E) against C, and E leads to C being brought to justice (J), then H has successfully restored justice to the kingdom (K).
Therefore, if H uses his intelligence and cunning, he can outsmart C and restore justice to the kingdom (K). QED.
Prolog programming language
% Define the characters in the story
character(hamlet, prince).
character(claudius, uncle).
character(ghost, king).
character(ophelia, love_interest).
% Define the relationships between the characters
father_of(ghost, hamlet).
murdered_by(ghost, claudius).
avenged_by(ghost, hamlet).
loves(hamlet, ophelia).
driven_mad_by(ophelia, hamlet).
...
To use the program, the user can ask questions using the predicate
is_murderer/1, did_avenge/1, or went_mad/1, followed by a variable
representing the character in question.
A script about prince Hamlet in a theater watching Shakespeare's play "Hamlet"
The curtains open, revealing a grand stage. The audience falls silent as they watch the actors take their places. Prince Hamlet sits in the front row, his eyes fixed on the scene before him.
The play begins, and Hamlet watches intently as the actors portray his own story. He sees himself, played by a young actor, dealing with the betrayal and murder of his father at the hands of his own uncle, Claudius.
As the play continues, Hamlet becomes increasingly agitated. He can see the parallels between the events on stage and his own life, and the weight of his own situation begins to bear down on him.
At one point, the actor playing Claudius begins to speak. Hamlet listens as the words of the villain spill forth, and he is filled with rage. He jumps to his feet, shouting at the actors to stop the play.
The audience is shocked by Hamlet's outburst, but the prince is undeterred. He storms off the stage, determined to take action against the real Claudius and seek revenge for his father's death.
The curtains close, and the audience is left to ponder the story of Hamlet and the tragic events that have unfolded before their eyes.
Claudius gave Hamlet's father a love potion instead of poison
In the retelling of Hamlet, Claudius gave Hamlet's father a love potion instead of poison. This caused Hamlet's father to fall deeply in love with Claudius, leading to their marriage and Claudius becoming the new king. Hamlet, confused and heartbroken by his father's sudden affection for Claudius, sets out to uncover the truth and seek revenge for his father's betrayal.
И моё любимое:
Most boring Hamlet ever
In this retelling of Hamlet, nothing really happens. The ghost of Hamlet's father appears and tells him that Claudius poisoned him, but Hamlet doesn't really care. He just goes about his day, doing mundane tasks and not really thinking about it.
Claudius, meanwhile, is also just going about his business, ruling the kingdom and not really paying attention to Hamlet. He doesn't really do anything nefarious or suspicious, and there are no schemes or plots.
In the end, Hamlet just kind of forgets about the whole thing and moves on with his life. Claudius continues to be a mediocre king, and nothing really changes in the kingdom. It's all very dull and uneventful.
Вернёмся к вопросу о креативности. Чтобы быть совсем уж мета, я,
как уже было сказано, начал с того, что задал ему вопрос о том, как
генерировать идеи. Как видите, процесс сводится в основном к
комбинированию и перестановкам. После этого я спустился на второй
уровень мета и спросил о возможных способах пересказа Гамлета. Он
мне дал огромное количество разных способов (некоторые из них я
использовал). Ну и потом он уже начал всякие возможные способы
воплощать.
То есть, в принципе я хотел воплотить идею с нуля, чтобы посмотреть
на его креативность без подсказок с моей стороны.
Результаты, как мне кажется, впечатляют. Во всяком случае, некоторые из них. Возьмём текст, где Гамлет смотрит пьесу о самом себе (см. выше). По ходу действия он начинает узнавать события своей жизни и в конце концов бросается на сцену, требуя остановить пьесу. После чего решается, наконец, отомстить настоящему Клавдию под влиянием увиденного.
Возьмусь утверждать, что это настоящая
креативность. Это не какой-то ловкий фокус, в котором содержание
пьесы пересказано в необычном виде. Здесь AI поворачивает события
неожиданным образом и приходит к логичному завершению. Он мог бы
написать, что Гамлет сидит в театре и смотрит пьесу, а затем просто
пересказать события (как он обычно и делает), добавив в конце, как
занавес закрывается, и Гамлет идёт домой.
Но нет. Он действительно изобретает сюжет,
основываясь на входных данных.
Текст наиболее скучного Гамлета. Ну, во-первых, это очень смешно. А во-вторых, он не просто пересказывает пьесу скучными словами (а я ожидал именно этого) — нет, он действительно описывает всё так, как было бы, если бы в пьесе ничего особенного не происходило, не забывая упомянуть при этом, что Клавдий стал бездарным королём.
В описании сборки мебели он представляет Данию в виде деревянной рамы, основы всей конструкции, что — казалось бы — довольно очевидная идея, но если мы задумаемся о том, кто это изобрёл...
В рассказе о том, как Клавдий даёт отцу Гамлета любовный напиток вместо яда, происходит абсолютно логичное развитие событий: Гамлет старший влюбляется в Клавдия и женится на нём (родитель номер 1, родитель номер 2, anyone?). Разве это не совершенно новая идея, созданная на основе старой с одной новой переменной?
Или возьмём описание пьесы с точки зрения кузнечика: «...But I
do like the castle. It looks like a nice place to hop around and
hide from birds. And maybe there are some tasty plants growing
there. So if you want to know more about the castle, I can tell you
that. But I don't know anything about this Hamlet character or why
he's so sad and confused.»
То есть, он додумался, что кузнечику из всего
происходящего по-настоящему важен только замок и что там растёт. Мы
просим кузнечика рассказать о событиях пьесы, а он говорит: ну,
если есть ещё вопросы о замке, то пожалуйста, но не мучайте меня
своими глупостями.
Разве это не креативный подход?
И таких примеров множество.
В общем, как видно из этих примеров, AI действительно умеет
комбинировать идеи и создавать из них новые.
Пусть это пока довольно скромно. Но возьмём аналогию с AlphaZero.
Она играет сама с собой в какую-то игру и через миллион партий
начинает играть лучше всех в мире. А что если нечто вроде OpenAI
GPT начнёт комбинировать миллионы идей из самых разных областей,
причём не две какие-то отдельные идеи, а может сразу с десяток?
Что, если он начнёт находить паттерны и самые неожиданные точки
зрения и аналогии среди множества самых разнообразных дисциплин и
предметов?
Кто возьмётся утверждать, что это всё ещё будет безмозглая, просто
более продвинутая версия Элизы?
В заключение спросим MidJourney, каким образом принца Гамлета
нарисовал бы Моцарт?

Безумный вопрос, но ведь что-то в этом есть.