Каждому из нас - понятно зачем - возможность показать проверять свои идеи без вложений в железо.
Например для навигации - можно очуметь, если реально считать среднее\максимальное отклонение вычисленных координат от реальных и т.п.
Для экономии времени на типовых тестах - ведь можно написать софт прогоняющий поправленный алгоритм по 5 заранее подготовленным тестам, чтобы оценить его по быстрому - хуже, лучше, насколько, и только после таких прогонов можно пробовать его в реале. Это позволит работать командой над проектом в котором реальный робот в полной конфигурации есть только у части участников.
=DeaD= писал(а):Каждому из нас - понятно зачем - возможность показать проверять свои идеи без вложений в железо.
В чем я сильно сомневаюсь, так это в том, что симулятор достаточно хорошо моделирует реальный мир. Может получиться двойная работа.
=DeaD= писал(а):Например для навигации - можно очуметь, если реально считать среднее\максимальное отклонение вычисленных координат от реальных и т.п.
Меня настораживает термин "вычисленных координат". Человеку вряд ли при навигации эти координаты приходится вычислять. Ориентируется он по опорным признакам непрерывного образа местности. Я как то несколько раз соревновался в сосновом бору с сыном, кот. с навигатором бегал. Сосны немного искажали сигнал. Чаще всего я находил наш автомобиль быстрее. И вообще, свое положение в комнате пытаться измерить в метрах и сантиметрах - последнее дело.
=DeaD= писал(а):Для экономии времени на типовых тестах - ведь можно написать софт прогоняющий поправленный алгоритм по 5 заранее подготовленным тестам, чтобы оценить его по быстрому - хуже, лучше, насколько, и только после таких прогонов можно пробовать его в реале. Это позволит работать командой над проектом в котором реальный робот в полной конфигурации есть только у части участников.
Мне это напоминает Forex, а точнее терминал MetaTrader. Там вмонтирована прекрасная система для тестирования МТС(механических торговых систем). На истории часто получаются прекрасные результаты. Но в реале - одни убытки. Конечно, до определенной степени MSRS полезен. Но только до определенной степени. До какой? Нужно учесть еще что для ее освоения нужны немалые усилия. И не думаю, что ее элементы напрямую можно пересадить в реального робота.
1. Симулятор понятно что не заменит реальный мир, но существенную экономию всё равно обеспечит. Если идеи по поводу элементов ИИ верны, они будут работать и в симуляторе, просто в симуляторе может сложится система ориентированная на симулятор
2. Ну где-то может и последнее дело, а где-то - первое не у всех же задачи как у вас
3. Пользоваться симулятором тоже уметь надо. И разумеется надо иметь разные наборы тестовых данных - один для выработки алгоритма, а второй для проверки его. Если для этого использовать один набор - будет полная лажа и одни убытки
4. Компоненты с MSRS можно пересадить в реального робота. Разумеется при прямой пересадке на робота надо будет ставить ПК
Я уж лучше по старинке. Сделаю подопытного кролика, вживлю ему очередной сервиспак в мозги и поставлю над ним эксперимент, кот. засниму на камеру и запишу условия. и т.д.
Чуть выше в данной ветке я описал формализмы, используемые в OWL. Однако меня всегда не покидала мысль что что-то тут не так. Да, с точки зрения логики здесь все Ок. В OWL-DL гарантируется произведение любых логических умозаключений на онтологии за конечное время. Причин для раздумиий несколько. Если так уж хороши онтологии, то почему нет единственно верной? Есть множество хороших онтологий. И каждая по-своему точно описывает мир. Далее. Если я укажу свойство у класса яблок, что они имеют цвет, то этим я на самом деле причислил яблоки к классу объектов, обладающих цветом. Получается, что два типа связей между понятиями класс->субкласс и класс->свойство можно заменить на один тип - класс->свойство. В OWL есть Property. Что оно означает? По моему мнению это контейнер, содержащий описание связи между двумя группами понятий - Domain и Range. В моем примере про яблоки Property - это стрелка "->". Если отказаться от связи класс->субкласс, то получим обычную фреймовую систему, где у каждого фреймового узла - понятия имеются слоты - свойства, содержащие несколько частей: групп Range, а также др. доп. части, например, тип свойства, инверсия... Такое описание ближе, как мне кажется, к модели нервной системы человека, т.к. каждый фрейм похож на нейрон. А где же тут онтологии? Они никуда не делись. Ведь в каждом слоте есть ссылки Range, кот. указывают на др. понятия. А сам фрейм - это Domain. Но теперь становится возможным создавать множество онтологий, кот. могут противоречить друг другу. Вот такие наброски нового/старого способа описания знаний, на основе кот. я хотел бы создать практические изделия.
Отношение класс->свойство это конечно хорошо, но вот где бы почитать что-то коротко и внятно про эти Domain, Range и т.п.? И как быть с непрерывными задачами, всё-таки?
=DeaD= писал(а):Ну я уже приводил пример - как онтологии будут решать задачи типа "выбрать длину палки, чтобы дотянуться воон до того фрукта и сбить его" ?
Сами онтологии не могут решать задачи. Это лишь структуры данных. Вся их мощь именно в структуре связей. Я считаю, что DatatypeProperty OWL разложимы до ObjectProperty вплоть до первичных аксиом программной системы. Что это означает на практике? Например, что строка символов раскладыватся на отдельные символы, число - на цифры. И они если надо приводятся к тем форматам, кот. "знает" система. Чтобы рассматирвать ваш пример по выбору длины палки, нужно привлечь к рассмотрению и другие механизмы, необходимые для принятия решения. Т.е. вместо примера как работает двигатель мы должны рассмотреть пример как доехать до Москвы из Васюков. И при этом рассмотреть в данном контексте работу двигателя. Узлы, кот. работают с БЗ могут выполнять след. операции: 1. Запись новых данных. При этом происходит добавление информации к уже существующей сети путем присоединения новых узлов. 2. Удаление информации из БЗ. При этом нужно учесть, что разрывать связи можно лишь если удаляемый узел - терминальный в сети. Т.е. на него не ссылается ни один другой. 3. Поиск информации. Это самая важная функция, т.к. от нее и зависит вся деятельность системы, т.к. чем больше сеть и лучше ее организация, тем более адекватные ответы она может дать. Пример: А есть ли в данном помещении что- нибудь красного цвета? Нужно при этом дать ссылку на узел, отвечающий за данное помещение, а также на узел, являющийся символом (понятием) всех объектов красного цвета. Пересечение связей и будет ответом.
Поможет. Но я бы не хотел рассматривать обезьяний пример с выбором длины палки кот. можно сбить фрукт, т.к. он разбивается на множество параллельно- последовательных задач. Давайте что-нибудь попроще (см выше - запись, удаление, поиск). М.б. я даже смогу его закодить в МК.