роботы робототехника микроконтроллеры


 Страниц (2): [1] 2 »   

> Без описания
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



В настоящее время консорциум W3C разрабатывает расширение XML(Content MathML http://www.w3.org/TR/MathML/chapter4.html ), которое позволяет описывать технические алгоритмы без привязки к какой-либо платформе/языку и без указания способа их реализации. Алгоритм представляется в виде последовательности математических выражений, связанных между собой. Решение что и как делать принимает обработчик такого XML. Поскольку основной упор сделан именно на передаче смысла, его автоматическая обработка, с первого взгляда, представляется относительно простой.
Какие возможности это дает.
Вот что удалось придумать мне.
1. Представление алгоритма становится платформно- и языко- независимым.
2. Представленный в виде XML один раз, алгоритм легко визуализировать в Интернет и хранить в БД.
3. Представление алгоритма становится доступным для автоматического анализа и автоматической обработки - как это делается, например в компиляторах.
4. На основании представления с помощью дополнительно разработанных генераторов возможно генерировать код реализации алгоритма на любом языке. Конечно, такой код скорее всего вначале будет требовать дополнительной оптимизации, но с течением времени, возможно, все меньшей и меньшей. Это кажется достаточно интересным, учитывая количество разных языков/ОС/платформ.
5. Для комплексных алгоритмов, состоящих из нескольких блоков или частей, можно будет разделять их выполнение и передать отдельные части разным исполняющим агентам (резервирование вычислений, паралельные вычисления).
6. Для использования становится достаточным описать алгоритм (в виде последовательности блок схем в каком-либо редакторе), которым потом будет реализован для определенной платформы с помощью генератора.
7. MathML представления можно использовать в качестве стандарта для передачи мат. объектов (матрицы, комплексные числа и т.д.) в распределенных системах. Простой пример - например, кто-то реализовал сервис расчета оптимального управления по заданной последовательности наблюдений для определенного класса задач, при этом входные и выходные параметры передаются в виде MathML (XML) с использованием всего того, что уже есть в Интернет для этих целей.
Приглашаю к дискуссии, какие перспективы имеет данное направление. Если окажется, что самые большие, можно было бы начать что-нибудь делать с ним уже сейчас Голливудская улыбка .
 
 Top
Белый Волк Супермодератор Post Id



Супермодератор


Сообщений всего: 648
Дата рег-ции: Февр. 2007  



romeo
На мой взгляд, это расширение схоже с байт-кодом языка JAVA, в котором разработчики также старались отвязаться от платформы, на которой исполняется конечное приложение. Сегодня JAVA-машина есть в любом телефоне, не говоря о компьютерах.

Безусловно, перспективы такого подхода сложно переоценить, но производительность всегда будет жертвой удобства. Думаю, для низкопроизводительных микроконтроллеров и достаточно сложных алгоритмов это пока неактуально.
 
 Top
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



Насчет java - да, действительно, идея очень похожая.
Но вместе с тем, есть и отличия -
1. для запуска java-кода нужен отдельный уровень - JVM.
2. Использование MathML предполагает следующий уровень абстракции по сравнению с высокоуровневыми языками C++, java и т.д. - обработка фактически идет на уровне мат. объектов и мат. функций/операторов.
По поводу сложных алгоритмов пришла такая мысль. На данном этапе сложность как правило означает некоторую специализацию. Например, анализ радиолокационной обстановки или распознование изображений. Следующим уровнем сложности будет (может быть уже стала) интеграция таких алгоритмов между собой, например, в тех же автономных роботах. И вот здесь вопрос - робот все расчеты будет делать сам или все же будет передавать эту функцию кому-то другому?
Мне кажется, проще передавать, чтобы получить лучшее качество - за счет специализации.

Белый Волк пишет:
romeo
На мой взгляд, это расширение схоже с байт-кодом языка JAVA, в котором разработчики также старались отвязаться от платформы, на которой исполняется конечное приложение. Сегодня JAVA-машина есть в любом телефоне, не говоря о компьютерах.

Безусловно, перспективы такого подхода сложно переоценить, но производительность всегда будет жертвой удобства. Думаю, для низкопроизводительных микроконтроллеров и достаточно сложных алгоритмов это пока неактуально.
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



romeo пишет:
...разрабатывает расширение XML
.
.
.
без привязки к какой-либо платформе/языку...

уже противоречие.

такой алгоритмический язык уже есть, другое дело что интерпретатор для него каждый сам придумывает, кто на паскале, кто на си, а мой профессор ромбиками рисовал, не умел по другому.
 
 Top
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



XML - это фактически текст, причем написанный в данном случае с использованием заданного словаря.
MathML - это попытка машинной интерпретаций всей математической нотации, а не только технических алгоритмов. Причем при его создании преследовались две цели.
1. Сделать так, чтобы интерпретацию можно было нормально показать на страницах в Интернет (presentation представление). Например, как здесь http://webequa.com/editor.en.jsp
2. Сделать так, чтобы последовательность выражений можно было передать кому-нибудь в Интернет, так чтобы он понял, как их вычислять (content представление).

Например, посчитать интеграл - тут и ромбиков не надо, есть принятая нотация со знаком S, все понимают, где нижняя граница, где верхняя, по какой переменной интегрировать и т.д. Только вот для достижения второй цели она не годится. А вот после преобразования в Content MathML все становится гораздо проще.

cjA пишет:
romeo пишет:
...разрабатывает расширение XML
.
.
.
без привязки к какой-либо платформе/языку...

уже противоречие.

такой алгоритмический язык уже есть, другое дело что интерпретатор для него каждый сам придумывает, кто на паскале, кто на си, а мой профессор ромбиками рисовал, не умел по другому.
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



romeo пишет:
есть принятая нотация со знаком S, все понимают, где нижняя граница, где верхняя,

так таки и всеми? Ну если у вас начинают преподавать математическую нотацию одновременно с иностраным языком языком, класса с четвертого.

Я уж неговорю о том что знак S предполагает бесконечно малые величины, что никогда никакой платформой не будет достигнуто.

для программиста проще прочитать слово sum или product, чем увидеть заглавные буквы давно забытого языка.

пусть профессиональные математики для себя язык придумывают (но проде такие системы тоже уже есть, MathLAB, вроде)

ну и как tiny поймет все это без флоат с 1кб памяти? А роботов на нем можно делать довольно смышленых
(Добавление)
Вы правильно подписали- миссия невыполнима Улыбка
 
 Top
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



Может быть я чего-то не понимаю, но по-моему мы с Вами не противоречим друг другу.
Конструкция вида
<apply>
<times/>
<ci>x</ci>
<cn>4</cn>
</apply>
гораздо понятнее для машины, чем допустим x*4 или 4x.
Использование математических пакетов (MatLab, Mapple, SciLab и др.) сейчас скорее удел именно инженеров и программистов, а не "чистых" математиков. В них есть огромное количество возможностей для моделирования всего и вся, даже роботов не в себе
Интересное направление, о котором я постоянно говорю - реализация в специализированном мат. пакете алгоритма обработки (например, многогипотезная байесовская фильтрация) и обращение к нему из других приложений или устройств (это то для чего также можно использовать mathml).
Я одно время занимался как раз фильтрацией, все модели и код писал сам на С++. Требуемые результаты, конечно, получил, но программный код пристроить никуда не удалось. Сейчас думаю, что если бы модели или хотя бы их часть были написаны для того же MatLab, возможностей их повторного использования было бы гораздо больше.
У Вас есть потребность в каких-нибудь сложных алгоритмах/методах, для которых нужны спец. средства Подмигивающий ?


cjA пишет:
romeo пишет:
есть принятая нотация со знаком S, все понимают, где нижняя граница, где верхняя,

так таки и всеми? Ну если у вас начинают преподавать математическую нотацию одновременно с иностраным языком языком, класса с четвертого.

Я уж неговорю о том что знак S предполагает бесконечно малые величины, что никогда никакой платформой не будет достигнуто.

для программиста проще прочитать слово sum или product, чем увидеть заглавные буквы давно забытого языка.

пусть профессиональные математики для себя язык придумывают (но проде такие системы тоже уже есть, MathLAB, вроде)

ну и как tiny поймет все это без флоат с 1кб памяти? А роботов на нем можно делать довольно смышленых
(Добавление)
Вы правильно подписали- миссия невыполнима Улыбка
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



romeo пишет:
У Вас есть потребность ЕЩЁ в каких-нибудь ЕЩЁ сложных алгоритмах/методах, для которых нужны ЕЩЁ спец. средства

если понимать так вопрос- то нет, для моего домашнего компа у меня все есть, CPU, GPU, FPU... (кроме чернил в принтере Улыбка )

Писали бы и вправду на джава фильтрацию, даже мобильники могли бы ее применять.
 
 Top
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



Как мобильникам применять фильтрацию? Помираю со смеху
cjA пишет:
romeo пишет:
У Вас есть потребность ЕЩЁ в каких-нибудь ЕЩЁ сложных алгоритмах/методах, для которых нужны ЕЩЁ спец. средства

если понимать так вопрос- то нет, для моего домашнего компа у меня все есть, CPU, GPU, FPU... (кроме чернил в принтере Улыбка )

Писали бы и вправду на джава фильтрацию, даже мобильники могли бы ее применять.
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Будет транслятор в основные языки с этого кода - будет успех.
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



Дед, вот ты как бы и правильно сказал, а с другой стороны...
"основные языки" - это куда? Для меня основные - это АдаХХ, а остальные - прости господи, сорвалось с языка...

romeo пишет:
без привязки к какой-либо платформе/языку

это фейк изначальный, об чем речь? свой си про асм вспомни...
 
 Top
Белый Волк Супермодератор Post Id



Супермодератор


Сообщений всего: 648
Дата рег-ции: Февр. 2007  



cjA
При текущих вычислительным мощностях, при возможности кэширования результата, накопления множества эвристических алгоритмов обработки такого языка - мне эта идея кажется вполне реалистичной.
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



romeo пригласил, я на приглашение ответил. Улыбка
конечно же все што придумает человек, когда-нибудь будет реализовано.
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



cjA пишет:
Для меня основные - это АдаХХ, а остальные - прости господи, сорвалось с языка...

Очевидно основные в смысле используемых массово в коммерческом программировании, исследованиях и обучении.
 
 Top
romeo Post Id


Лейтенант


Сообщений всего: 31
Дата рег-ции: Май 2009  



Если кому-нибудь будет интересно и кто-то захочет присоединиться, я постараюсь дореализовать и выложить в ближайший месяц web сервис, передавая в который матрицу и метод обрабоки, можно будет получать результат - например, обратную матрицу, детерминант, собственные числа и т.д..
Пишу на java+SciLab.
 
 Top
Страниц (2): [1] 2 »
« Алгоритмы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru