РЕКЛАМА НА ФОРУМХАУС Уже имеется небольшой набор атомарных операций, способных исполняться на элементарном процессоре. Этот набор я буду расширять по мере необходимости. Элементарным процессором я назвал специальную структуру в памяти, которая похожа на нейрон, продукционное правило или простую функцию LISP. Элементарные процессоры могут работать параллельно либо псевдопараллельно в зависимости от возможностей аппаратуры. В процессе разработки я измеряю скорость выполнения операций такими элементарными процессорами. На данный момент при скорости выполнения машинных команд 1, 9 млрд оп/с в моем компьютере происходит выполнение 26 млн операций моих процессоров. Т. е. скорости отличаются в 73 раза. Этот показатель постепенно падает от 31 раз в самом начале до 73 раз к настоящему времени из-за наращивания функционала моей программы. Однако я добился того, что замедление работы программы в законченом виде будет зависеть первую очередь от размера потока входных данных в единицу времени.
Для планирования нужны цели. Нас заставляют действовать инстинкты, а робота? Ни как не могу понять - либо Вы замахнулись на очень большой спектр задач... Либо я не понимаю. Как я понял, будет использоваться алгоритм SURF для нахождения ключевых точек, алгоритм типа FundamentalMat для связей между ними. Как с привязкой точек к 3D карте? Как собираетесь группировать точки и связи между ними? Как хранить данные? Дерево? Взаимодействие с внешним миром... Как будете реализовывать запись воздействий и их результатов? Здесь вообще ничего не понял. Можно ещё подробней.
Кратко опишу мое общее видение этого проекта. С одной стороны, нельзя отрицать того, что мы в уме постоянно строим некоторые иерерхии отношений понятий. С другой стороны, я лично ощущаю, что в голове у меня часто бывает "каша". Установлено учеными, что люди легко могут зацикливаться в своих умозаключениях. Если бы в нашем разуме была единая стройная иерархия или даже несколько таких иерархий, то никакого зацикливания не было бы возможно. Поэтому я сделал вывод из этого, что можно строить в уме иерархии, но мы можем обозревать своим умственным взором одновременно в оперативной памяти внимания лишь небольшую часть этой иерархии. Как фонариком высвечиваем часть сооружения. В таких условиях продвигаясь пятном этого фонарика вдоль сооружения нелегко понять, что движемся по кругу. Вывод: иерархии в уме робота могут иметь место, но они относительно невелики. Иначе не хватит аппаратных ресурсов. И второе - единую модель мира невозможно построить и в "мозгу" робота всегда должны существовать борющиеся между собой альтернативные модели. Возникает вопрос о том, что если допустить существование небольших иерархий знаний, нужно разработать механизм из взаимодействия. Т. е. нужно определить какое-то множество возможных операций над совокупностью иерархий. Но для решения этого вопроса нужно задуматься еще вот о чем. Нужно определить для робота ключевые черты "личности", если можно это так назвать. Проще говоря, нужны ли роботу смелость, страх, боль, голод, любопытство и т. д. И какие из них фундаментальные, а какие - вторичные? И еще более важный вопрос: вообще что такое мой робот? Какой вид программного агента я реализую? Вот этим сейчас приходится заниматься. Иначе бессмысленной становится любая обработка информации роботом. Нет, SURF я использовал давным- давно. Он не подходит для данного проекта. Подробности работы с изображениями я буду описывать в этой ветке по мере возможности и чуть позже, т. к. я сейчас занят более внутренними механизмами моей программной системы. Все- все- все будет храниться прямо в программе в виде постоянно изменяющейся сети элементарных процессоров. И в их связях и внутри самих этих процессоров. Действительно, у робота всегда должны быть побудительные мотивы. Они, эти мотивы как и все другое в нем со временем будут самоизменяться.
Один из вариантов - клонирование информации в ум другого аналогичного робота. Другие варианты как-то не приходят на ум, т. к. видимо невозможно другим путем передать без потерь весь индивидуальный опыт.
Клонирование - это затирание старого, а не объединение. Один робот, набирающийся опыта - хорошо, тысячи будут учится в тысячи раз быстрее. ИМХО, нужно обязательно продумать этот момент! И если один обжегся, больше никто и никогда не обожжется.
Я на выходных на даче. Как приеду, распишу свои мысли по поводу Были у меня некоторые идеи и их реализации. С праздником!
Главное, чтоб заложенные Вами 10 заповедей в него, исполнялись неукоснительно. Иначе самосовершенствование, может привести к созданию себе подобных, но более совершенных.
Пока до заповедей далековато. Но в каждого практически полезного действующего робота различные ограничения, связанные с опасностью нанесения каких-то травм людям вкладывать придется.
Сделан захват манипулятора и установлены видеокамеры. Место их размещения временное. В ходе экспериментов поищу наиболее удобное их положение относительно самой роборуки.
Я недавно начал заниматься системой планирования поведения робота. Робот должен самостоятельно составлять алгоритмы своего возможного поведения, оценивать их и выбирать по определенным критериям наиболее подходящий алгоритм. Все ближайшее время я делал программную основу для возможности работы такого механизма "мозга" робота. Особенность моего планировщика в его самообучении на собственных успехах и ошибках. Проще говоря, робот должен становиться опытнее и мастеровитее. Смогу утверждать, что планировщик робота функционирует лишь после успешно проведенных экспериментов и тестов.