Пока хвастать нечем, но очень хочется:
Язык разработки - JavaScript.
прототип
Сообщений 1 страница 17 из 17
Поделиться12019-11-17 14:44:42
Поделиться22019-11-18 16:22:12
Ого! ИИ пишем? Что-то типа экспертной системы? Или это такое крутое продолжение движка ТОМ?
Поделиться32019-11-18 16:39:12
Скорее это переложение движка ТОМ с C++ на JS.
Но попутно, раз всё равно всё заново переписывать и чтоб 2 раза не вставать - меняется концепция.
Игра будет писаться как набор фактов и правил - т.е язык будет не алгоритмическим, а описательным.
Что из этого получится - посмотрим...
На примере ТОМ2 уже было видно, что уязвимость не в распознавании языковых конструкций, а в слабой "соображалке" движка.
Будет продукционный вывод по набору правил, ради него всё и затевается.
ИИ тут скорее всего не получится, но как маркетинговый термин вполне допустим.
Поделиться42019-11-18 16:45:23
Факты и правила... типа Пролога? Программы на нём труднее писать (перестроиться на описание правил, вместо описания алгоритма) будет. Ну может текстовых игр это не касается, посмотрим. А вот на счёт JS странный выбор. На счёт алгоритмического языка я бы ещё понял, но система логического вывода из фактов и правил... это слишком для чистого JS. Не слишком ли тормозить будет?
Поделиться52019-11-18 17:02:55
Пролог основан на математической логике и мозги выворачивает наизнанку.
У меня будет симбиоз логики и лингвистики - должно быть удобочитаемо.
О тормозах не думаю, надеюсь на дальнейший рост быстродействия. Пока я это допишу... квантовые компьютеры будут в каждом доме.
JS хорош по многим причинам =)
Поделиться62019-11-26 20:43:56
Прототип v.0.0.2
Пока что там ничего нет кроме грамматики.
Грамматика мне будет нужна на следующем этапе, на её основе будет строиться логика.
Поделиться72020-01-06 19:15:12
Прототип v.0.0.3
Опять только грамматика, но чуть более проработанная.
Логика и парсер в зачаточном состоянии.
Зато есть всплывающая расшифровка примененных ключей:
Поделиться82020-01-06 19:26:45
На данном этапе очень сильно не хватает внешнего словаря - чтобы не забивать слова вручную, и работающего парсера - чтобы тестировать на произвольных примерах.
Для проверки гибкости грамматики можно попробовать:
> 4 #Сщ
> 4 #Пв
> 4 #Нв
> 4 #Бв
> 4 #Ив
> 4 #Пщ
> 4 #ПвСз
> 4 #НвСз
> 4 #БвСз
> 4 #ИвСз
> 4 #ПщСз
Это всё различные формы одного отношения. Взгляд на ситуацию с разных сторон.
Поделиться92020-01-31 19:25:51
Давно не проверял форум, пропустил сообщения.
На данном этапе очень сильно не хватает внешнего словаря - чтобы не забивать слова вручную, и работающего парсера - чтобы тестировать на произвольных примерах.
Словарь ещё не сделан? Могу попробовать слепить что-нибудь на основе словаря АОТ и старого плагина для ТОМ.
В каком формате словарь будет удобнее? JSON, или прямо js файл, создающий описание слов? Не помню там то ли 60, то ли 100 тысяч слов... в общем много чтобы вот так просто описывать их на JS.
Поделиться102020-02-01 21:34:12
Словарь ещё не сделан?
Мне надо просто переделать словарь от ТОМ2.
Я нацеливался на онлайн-словарь. Где-то будет развернут сервис; обращаясь к нему GET-запросом в ответ получаешь JSON с описанием слова. Ну и на локальном IP это можно будет запустить с чем-то вроде переделанным .exe от ТОМ2.
И на JS всё очень гибко. Будет функция, на вход передаёшь произвольную словоформу, на выходе получаешь JSON с описанием словарной статьи. Реализовать можно по-разному.
Поделиться112020-02-02 17:13:30
Где-то будет развернут сервис; обращаясь к нему GET-запросом в ответ получаешь JSON с описанием слова.
В таком случае обязательно надо сделать пакетные запросы. Чтобы одним запросом десятки и сотни словоформ проверять.
Будет функция, на вход передаёшь произвольную словоформу, на выходе получаешь JSON с описанием словарной статьи. Реализовать можно по-разному.
А как быть с одинаковыми словоформами? "есть" от слова "ешь" и от слова "быть"... очень много словоформ совпадают в разных словарных статьях.
Поделиться122020-02-02 18:21:42
Про пакетные запросы я не думал... звучит разумно.
Но десятки и сотни слов сразу - это излишне. Достаточно все слова в команде запросить одним запросом.
А как быть с одинаковыми словоформами? "есть" от слова "ешь" и от слова "быть"... очень много словоформ совпадают в разных словарных статьях.
Так же как это реализовано в ТОМ2 - все пересекающиеся слова группируются в кластеры. Словарная статья содержит все слова из одного кластера.
Поделиться132020-04-24 13:55:14
Прототип v.0.0.4
Версия довольно лохматая, выкладываю как есть для ознакомления.
Особо далеко не продвинулся.
- почистил вёрстку веб-страницы, добавил возможность вывода различной доп.информации на отдельные вкладки.
- немного усовершенствовал формирование форм =)
- есть небольшие продвижения по всем фронтам, но нет ничего прорывного.
Поделиться142020-04-25 19:35:05
Посмотрел v.0.0.4
Мысли:
1. В Firefox 68.7.0 не работает. Public class fields пока эта версия Firefox не поддерживает. Потому: SyntaxError: fields are not currently supported в файле tom-AI.js:143:8
2. Запускается в Vivaldi (клон Хрома). Но при попытке ввести команду 30 пишет:
>30
TypeError: testKettle.addStatement is not a function
test20 (file:///home/vvb/vvb/work/vvb/tom/tom_js/0.0.4/tom-AI.js:1586:13)
А так -- да, что-то пашет. Буду тестировать дальше.
Поделиться152020-04-25 23:03:51
Мультибраузерность пока не поддерживаю. Сам запускаю на хроме, и всё новое в JS что хром умеет - использую.
Тестил на опере, но это тот же хром по сути.
>30 - тупиковая ветвь, надо бы вычистить её из кода.
Поделиться162020-04-26 03:43:46
Да, это правильно и понятно, что в приоритете -- быстрое получение первой рабочей версии.
Вопрос -- какие планы? Скоро ли ожидать рабочей версии ТОМ 3.x.x.x на JS?
Игра будет писаться как набор фактов и правил - т.е язык будет не алгоритмическим, а описательным.
Как успехи с этим?
Поделиться172020-04-26 09:49:31
ASBer написал(а):Игра будет писаться как набор фактов и правил - т.е язык будет не алгоритмическим, а описательным.
Как успехи с этим?
Продвигаюсь в этом направлении =)
Технология записи фактов (статика) по большей части готова. Там сейчас основное затруднение в отсутствии словаря.
В конечном итоге всё строится на словах (class Word); - даже для самого простого описания слов нужно много, описывать их вручную долго и муторно.
Технология обработки правил (динамика) всё еще в зачаточном состоянии. Общая картинка в голове сложилась, сейчас пытаюсь всё это реализовать. От того как получится, зависит дальнейшее развитие всей системы, поэтому это в приоритете.
версия 3.x.x.x - за горизонтом событий, о ней ничего неизвестно...