EDV писал(а):Вот, могу предложить функцию (собственного производства) микширования по прозрачности
Большое спасибо. Попробую ее в действии. Наверное, я слишком многого хотел от OpenCV. Эта библиотека все же не для обычной работы с графикой. Тут наверное больше подошла бы ImageMagick или что-то подобное. Но мне нужнее зрение робота.
Мне удалось побеседовать с моим старым знакомым - Александром Макаровым и пообсуждать теорию и практику ИИ и роботов. http://airobots.rpod.ru/137824.html
Кто-то наверное меня потерял. Но я все последнее время интенсивно работаю над программой, являющейся "мозгом" робота Robosonic EX. Эта программа также может использоваться самостоятельно на компьютере в качестве интеллектуального помощника. Никому не интересны мои рассказы о новых GUI командах или обработках критических секций. Поэтому и не писал ничего. Так выглядит моя программа AIAssistant на сегодняшний день. Аватара я позже заменю, т.к. взял у мелкомягких на время. Программа может говорить, а следовательно и робот. Этим, правда, никого не удивишь. Главное, что теперь можно удобнее подключать программные модули на языке ECLIPS. Как я писал ранее, приступаю к подключению модуля онтологии SUMO. Для чего она - покажу позже тем, кому это будет интересно.
Вот еще одна моя беседа на тему ИИ. Кому интересно, можете послушать и оставить комментарии здесь, на форуме, или рядом с подкастом. http://airobots.rpod.ru/141251.html
Виктор, много читал на форуме про RoboBrain и Ко. И теперь я призываю Вас потратить часть своего времени и прочесть вот эту статью: http://www-robotics.usc.edu/~maja/teaching/cs584/papers/AIM-1293.pdf Это очень полезно и интересно. Имхо, это квинтэссенция западного научного опыта в автономной робототехнике доступным языком на 30ти страницах. В общем там есть и про Ваши идеи. Rodney Brooks http://people.csail.mit.edu/brooks/ - основатель iRobotics.
2Matthewz: А вы не заметили дату этой публикации? 1991г. Я знаком с нею. Простые ИИ системы могут создаваться реактивными - модель мира заключена в виде врожденных рефлексов и их комплексов- инстинктов. Но модель при этом в неяном виде, но есть. Однако такие системы лишь следуют в своем поведении за изменением окружающей среды. А мне нужна система, которая бы могла планировать свое поведение и предугадывать различные исходы возможных своих поступков. Тут без явной модели не обойтись. Но при этом такая модель должна иметь несколько частей. Я так уже сделал в своей программе AIAssistant - основе автономного робота. Есть дефолтные секции онтологии - модели мира, из которых главная - SUMO, где есть описание всего мира в самых общих чертах. Еще хочу добавить другие важные дефолтные секции. И самая важная часть, к которой только приступаю - самообучение. А т.к. пока занят "абстрактным мышлением" - как бы левым полушарием "мозга" робота, то пока на роботе отладить не могу. Делаю это на программном уровне. Мне нравится вот это: http://ritis.ru/protar/index.php http://ritis.ru/pifiya/pifiya.php С автором я иногда переписываюсь и слежу за его разработками. Эта система основана на знании того, что в мире есть закономерности. А это уже можно считать встроенной моделью мира, хотя и очень маленькой. Возможно, эти идеи я использую.
Вы молодец, что ее читали. Я прочитаю Ваши ссылки.
А что-то с 1991 года принципиально изменилось? Норвиг с Расселом издали первую AIMA в 1995 году. Мощности стали больше - кое-какой поиск стало можно проводить в реальном времени. Больше ничего. Или это уже неактуально? Брукс в своем 91ом году уже делал такие вещи, до которых нам здесь сейчас в 2010 - еще очень далеко. Кроме того, этот господин блестяще подтвердил свои идеи, коммерциализовав их. Вас не смущает то, что один из самых успешных робототехников мира Ваш полный антагонист? Это риторический вопрос)
На самом деле, мне не достает ни квалификации, ни кругозора, ни опыта, чтобы с Вами серьезно спорить. Ваше слабое место - "А т.к. пока занят "абстрактным мышлением" - как бы левым полушарием "мозга" робота, то пока на роботе отладить не могу". Ваши программы оторваны от реального мира - со всей его реальностью. Даже не соглашаясь с Бруксом - Вы же должны согласиться, что программа должна работать с реальным миром. Попробуйте связать ее с реальностью через робота (Вам тут это не раз советовали и про палки и про лайнтрейсеры), возьмите стандартную задачу с миром из кубиков, даже в искусственной среде (которая имеет мало общего с реальным миром). Чем быстрее, тем лучше - такой опыт сложно переоценить. Это уже мой личный опыт)
Данная тема посвящена практической реализации моих идей в железе. Я буду ставить опыты на уже сделанном мною роботе. Есть отдельные этапы работ, которые для непосвященного как бы не существуют. Но они есть и их нужно сделать, а уж потом продолжить реализацию и демонстрации в железе. Вот уже пару месяцев я занимаюсь такими этапами. За основу я взял CLIPS, написанный где-то в 1984. Брукс не Брукс, а пока ни у кого нет робота, которого издалека можно спутать с человеком, особенно с рабочим каким-нибудь на стройке. А уж тем более, побеседовать с прохожим и потом от других узнать, что это робот. И дело вовсе не во внешности. Люди на карнавалах одеваются так, что и не поймешь, кто перед тобой. Но все выдает ход мыслей, кот. он речью, поведением или пантомимой может донести до других. Поэтому пока программа не начнет хотя бы чуть-чуть соображать, ни о каком умном роботе и речи не будет идти.
Когда я начал подключать онтологии SUMO и WordNet, то обнаружил, что они занимают в RAM недопустимо много места. Как же тогда быть с вновь полученными в ходе жизни робота знаниями? После нескольких неудачных проб я кажется нашел и реализовал то, что нужно. А именно: подключил БД FireBird к AIAssistant так, что БД выдает результаты поиска в виде фактов, удобных для обработки машинкой правил. Кроме того, занес SUMO в эту БД. Теперь нужно еще бОльшую WordNet внести. Одновременно пишу на языке ECLIPS механизм манипулирования этими знаниями. Это похоже на долговременную и кратковременную память человека. Долговременной в моей программе является БД на диске, а кратковременной - текущий набор фактов в RAM. При работе с 3D моделью мира такое разделение позволит создать оптимальное соотношение скорости обработки и обширности знаний. Насколько я знаю, в алгоритме распознавания зрит. образов у EDV память весьма быстро исчерпывается. Распознавание среди миллионов сложных образов потребует колоссальных накопленных знаний и быстрого извлечения их.
Но т.к. сначала я хотел бы довести до чего-то полезного часть, отвечающую за логическе мышление, то образному придется подождать. А следовательно, и механике робота придется еще некот. время попылиться в углу.
У меня не с памятью в алгоритме AVM проблема (памяти предостаточно), а с алгоритмом декомпозиции матриц и порогом распознавания сложности. Постараюсь улучшить характеристики алгоритма в следующей версии.