1

Тема: Генерація квестів на основі міфів/історій

Хай. Подивився сьогодні 16 серію SAO2.
І там онлайн гра має модуль генерації квестів.
Вона аналізувала скандинавські міфи, і на їх основі будувала квести.
Ну от, на прикладі двох простих історій
1) Василь йшов додому, аж тут його вкусила собака, після чого в нього з'явились надздібності.
2) Колись, в давні часи, існували дракони. Та з'явивлись драконоборці, і один з них став королем драконів.
І на основі цього генерується квест, типу
Вбийте короля собак, котрий з давніх часів живе в глибокій печері, та отримайте обладунки, що здібні протистояти силі дракона.

При цьому в грі вже існують обладунки==винагорода, собака==бос, та печера==підземелля.

Як гадаєте, подібну штуку взагалі можна якось написати, чи це вже прирівнюється до штучного інтелекту, адже програма має аналізувати оті міфи, знаходити логічні ланцюжки і складати їх заново.

2

Re: Генерація квестів на основі міфів/історій

Прихований текст

Не хочу таку програму, мене тоді на мороз відправлять.

Подякували: 0xDADA11C71

3

Re: Генерація квестів на основі міфів/історій

Семантичний аналіз живої мови - одна з нерозв'язаних задач ШІ.

Подякували: FakiNyan1

4

Re: Генерація квестів на основі міфів/історій

Ну тоді я її точно не розв'яжу :D

5

Re: Генерація квестів на основі міфів/історій

Для обмеженої тематики,  в принципі зробити щось можна. Принаймны я так думаю:) Хоча попрацювати прийдеться:). Саме примітивніше, що можна зробити. Якщо брати ті ж міфи. То можна ввести об'єкти, які можуть зустрітися у міфах і що з цими об'єктами можна зробити... Щось примітивне можна придумати завжди... А взагалі, логіка ігор - доволі непроста штука. Недаром часто при розробці ігор беруть вже готові наробки (рушії) і просто пероробляють під свою гру.:) Якщо цікавить логіка, хороша книжка Стюарта Рассела и Питера Норвига «Искусственный интеллект: современный подход». Правда там не про аналіз текстів, а про різні типи логік, на зразок булевської логіки і рішення логічних задач на основі них. Щодо аналізу тексту теж можна знайти купа інформації в інтернеті, алгоритмів і т.п.

Подякували: FakiNyan1

6

Re: Генерація квестів на основі міфів/історій

volodimirg написав:

Для обмеженої тематики,  в принципі зробити щось можна. Принаймны я так думаю:) Хоча попрацювати прийдеться:). Саме примітивніше, що можна зробити. Якщо брати ті ж міфи. То можна ввести об'єкти, які можуть зустрітися у міфах і що з цими об'єктами можна зробити... Щось примітивне можна придумати завжди... А взагалі, логіка ігор - доволі непроста штука. Недаром часто при розробці ігор беруть вже готові наробки (рушії) і просто пероробляють під свою гру.:) Якщо цікавить логіка, хороша книжка Стюарта Рассела и Питера Норвига «Искусственный интеллект: современный подход». Правда там не про аналіз текстів, а про різні типи логік, на зразок булевської логіки і рішення логічних задач на основі них. Щодо аналізу тексту теж можна знайти купа інформації в інтернеті, алгоритмів і т.п.

Ну оце я теж так думав.
Звісно, для розуміння будь-якого тексту хоча б на одній мові, прога має мати в базі всі можливі слова, словополучення, якісь спеціальні фрази і т.д.
Але ж можна зробити якусь простеньку прогу, котра працює лише з декількома вже відомими словами/фразами.
Ну і треба ще якось навчити цю прогу логічно виділяти оці слова.
Наприклад,- "Вася з'їв тортик", нехай програма розуміє, що Вася - це ім'я людини, тобто живої істоти. А з'їсти - це коли жива істота впливає на якийсь предмет, при цьому цей предмет знищується, а істота, котра вплинула на цей предмет, отримала якийсь профіт з цього.
Ну тобто є два актори, котрі взаємодіють один з одним, а слово з'їв - визначає спосіб взаємодії.
І от тут можна два стани виділити:
1) Стан, коли існує Вася, торт, та можливість з'їсти цей торт
2) Стан, коли існує Вася, але вже змінений, не існує торт, та нема можливості з'їсти цей торт. Хоча можливість з'їсти тут вже не перевіряється, тому ще є лише один актор, а з'їдення потребує хоча б 2 актори, при чому один має наслідувати інтерфейс ICanEat, а інший - IEatable, лол.
Але це вже в мене якісь фантазії пішли xD

7

Re: Генерація квестів на основі міфів/історій

Наприклад,- "Вася з'їв тортик", нехай програма розуміє, що Вася - це ім'я людини, тобто живої істоти. А з'їсти - це коли жива істота впливає на якийсь предмет, при цьому цей предмет знищується, а істота, котра вплинула на цей предмет, отримала якийсь профіт з цього.

Ви ще не розглянули варіант, коли людину звуть Вась і він виступає об'єктом.

Подякували: koala1

8

Re: Генерація квестів на основі міфів/історій

quez написав:

Наприклад,- "Вася з'їв тортик", нехай програма розуміє, що Вася - це ім'я людини, тобто живої істоти. А з'їсти - це коли жива істота впливає на якийсь предмет, при цьому цей предмет знищується, а істота, котра вплинула на цей предмет, отримала якийсь профіт з цього.

Ви ще не розглянули варіант, коли людину звуть Вась і він виступає об'єктом.

Типу - Тортик з'їв Васю?

9

Re: Генерація квестів на основі міфів/історій

Не Васю, а Вася. Але ви зрозуміли правильно.

10 Востаннє редагувалося FakiNyan (28.10.2014 18:35:39)

Re: Генерація квестів на основі міфів/історій

quez написав:

Не Васю, а Вася. Але ви зрозуміли правильно.

Ну це я за приклад беру вже готовий текст, який писала людина, тому навряд хтось, окрім вас, може написати Тортик з'їв Вася.
І це ж я ж кажу ж, що беру простий приклад, не розглядуючи отаке, як ви написали.
Тому що зрозуміло, якщо Тортик - це ім'я іншого створіння, то це десь має бути сказано в тексті.
Наприклад, міф починається з - "Жив собі Васьоїд на ім'я Тортик...". Ось вже на цьому етапі прога має створити об'єкт Тортик, котрий буде наслідувати ICanEat, ну а Вася по дефолту буде наслідувати IEatable.
UPD: тільки зараз зрозумів, що ви мали на увазі :D

11 Востаннє редагувалося Skyzerks Synx (28.10.2014 18:02:15)

Re: Генерація квестів на основі міфів/історій

Якщо програма має розуміти що цей предмет собою являє, тоді потрібно велику базу даних. Відповідно прописати багато взаємодій. Недарма ж програми з штучним інтелектом зараз важкі у реалізації.
Якщо писати програму за наперед відомими сценаріями (ми знаємо що ми писали цю умову в коді), то звісно все буде добре.
Ну якщо наш об'єкт зветься не Вася, а, наприклад, Захар - вже потрібно прописувати що він теж до цього класу об'єктів належить. А якщо там ні Вася, ні Захар, а якесь інше ім'я? Так що тут явно в діло мають іти бази даних.
Перш за все штучний інтелект — це системи, які можуть оперувати з знаннями, а найголовніше — навчатися. Але для того що програма змогла його сама записати під цей клас їй потрібно якийсь певний набір базових даних, які можуть описати різницю між певними об'єктами.
P.S. Як ми всі знаємо перш ніж людина почне відрізняти властивості різних предметів вона має набратись якихось початкових основних знань від яких вона буде відштовхуватись надалі.

Подякували: FakiNyan1

12

Re: Генерація квестів на основі міфів/історій

Гаразд, ось різницю між - "Вася з'їв тортик", і "Тортик з'їв Вася", я поки що хз як описати. Але я над цим сильно і не думав так.

13

Re: Генерація квестів на основі міфів/історій

FakiNyan написав:

Гаразд, ось різницю між - "Вася з'їв тортик", і "Тортик з'їв Вася", я поки що хз як описати. Але я над цим сильно і не думав так.

Використовувати есперанто. Там таких неоднозначностей не буває.

14

Re: Генерація квестів на основі міфів/історій

quez написав:
FakiNyan написав:

Гаразд, ось різницю між - "Вася з'їв тортик", і "Тортик з'їв Вася", я поки що хз як описати. Але я над цим сильно і не думав так.

Використовувати есперанто. Там таких неоднозначностей не буває.

фу, якась недомова

15

Re: Генерація квестів на основі міфів/історій

Автор то створює теми,де питає елементарні речі,то намагається створити штучний інтелект.. LiL

16

Re: Генерація квестів на основі міфів/історій

VTrim написав:

Автор то створює теми,де питає елементарні речі,то намагається створити штучний інтелект.. LiL

Тупий злісний тролінг.
Ну, або ви десь бачите в цій гілці код ШІ, якого не бачу я.

17

Re: Генерація квестів на основі міфів/історій

koala написав:
VTrim написав:

Автор то створює теми,де питає елементарні речі,то намагається створити штучний інтелект.. LiL

Тупий злісний тролінг.
Ну, або ви десь бачите в цій гілці код ШІ, якого не бачу я.

Прихований текст

то адепт панди, колись я на нього гримнув, і тепер я його одвічний ворог :D

p.s. це ж все можна буде написати на будь-якій мові пограмування, чи тре буде використовувати щось типу прологу?

18

Re: Генерація квестів на основі міфів/історій

koala написав:
VTrim написав:

Автор то створює теми,де питає елементарні речі,то намагається створити штучний інтелект.. LiL

Тупий злісний тролінг.
Ну, або ви десь бачите в цій гілці код ШІ, якого не бачу я.

Нічого не злісний :)

19 Востаннє редагувалося koala (28.10.2014 19:40:05)

Re: Генерація квестів на основі міфів/історій

FakiNyan написав:

p.s. це ж все можна буде написати на будь-якій мові пограмування, чи тре буде використовувати щось типу прологу?

Можна будь-якою мовою.
Давайте я вам переформулюю завдання, щоб ви зрозуміли. Є набір правил граматики, згідно з якими комп'ютер має побудувати з тексту певну модель - це ж вам треба? Ну так от, ця задача давно вже вирішена; програма, що робить таку операцію, зветься компілятором. Літератури по написанню компіляторів - навалом, включно з покроковими інструкціями.
Але загальна проблема аналізу живої мови, ще раз, лишається нерозв'язаною - зокрема тому, що в мові весь час виникають нові правила, які добре сприймаються нашими нейронними мережами в головах, але повністю суперечать старим правилам.

Подякували: FakiNyan1

20

Re: Генерація квестів на основі міфів/історій

koala написав:
FakiNyan написав:

p.s. це ж все можна буде написати на будь-якій мові пограмування, чи тре буде використовувати щось типу прологу?

Можна будь-якою мовою.
Давайте я вам переформулюю завдання, щоб ви зрозуміли. Є набір правил граматики, згідно з якими комп'ютер має побудувати з тексту певну модель - це ж вам треба? Ну так от, ця задача давно вже вирішена; програма, що робить таку операцію, зветься компілятором. Літератури по написанню компіляторів - навалом, включно з покроковими інструкціями.
Але загальна проблема аналізу живої мови, ще раз, лишається нерозв'язаною - зокрема тому, що в мові весь час виникають нові правила, які добре сприймаються нашими нейронними мережами в головах, але повністю суперечать старим правилам.

пам'ятаю, нам читали лекції про компілятори, там ще про якогось Хомського, але я тоді не слухав, хдд
тре буде десь почитати
і той, от компілятори МП перетворюють текст в байткод, і цей байткод є моделлю, ага? то ця ж модель може бути різною? ну типу, якщо я захочу, аби на виході був клас с різними полями і т.д., то це ж мона буде зробити, ага?
ну я наче розумію, що так, але перепитую на всяк випадок