Автор: гость Ну если пока нет чётко определённого принципа по коему Вы собираетесь осуществить алгоритм создания алгоритмов то наверное имеются общие соображения и общие представления как и из чего должны складываться новые алгоритмы? Это не является секретом? Это Вы можете сообщить? Если не на форуме, то мне на мыло можете скинуть? Обещаю отнестись серьёзно и весьма корректно. |
|
Я готов общаться с любым желающим и речью по скайпу на данную тему. Мой скайп victorkazarinov
Но видимо многое обсуждать здесь на форуме тоже удобно. Поэтому продолжу.
Итак, начнем.
Передо мной лежат некоторые из имеющихся у меня бумажных книг:
1. Норман. Память и научение. Мир 1985г.
2. Хакен. Информация и самоорганизация. Мир 1991 г.
3. Тимофеев. Роботы и искусственный интеллект. Наука 1978 г.
4. Гаазе-Рапопорт,Поспелов. От амебы до робота: модели поведения. Наука 1987 г.
5. Сосоулин, Фишман. Теория последовательных решений и ее применения. Радио и связь 1985 г.
6. Хант. Искусственный интеллект. Мир 1978 г.
7. Люгер. Искусственный интеллект. Стратегии и методы решения сложных проблем. Четвертое издание. Вильямс 2003 г.
8. Рассел Норвиг. Искусственный интеллект. Современный подход. Второе издание. Вильямс 2006 г.
Читал и перечитывал я их и другие аналогичные книги многократно, но тепеь многое подзабыл.
Сейчас буду писать лишь мои текущие мысли вслух не заглядывая в книги. Загляну чтобы понять насколько ошибочны мои мысли после написания этого поста.
Все мои рассуждения касаются незамкнутого мира.
-----------------------------------------------
Часто к построению плана действий толкает какая-то необходимость. Опустим для простоты размышлений эту необходимость.
План предполагает наличие целей. Опять для простоты будем считать, что в начале планирования выдвигается лишь одна цель.
Представим план в виде некоторой функции f(), решив которую, достигнем цели. Под решением будем понимать успешную реализацию всех входящих в функцию f() действий. План, находящийся в реализации представим в виде другой функции F(), чтобы не путать план с воплощением плана в реальность.
Функция f() в свою очередь может состоять из последовательности аналогичных подфункций:
{1} f(f1(f2(... (fn()))
Тут мы видим, что все функции вложены друг в друга как матрешки. Чтобы достичь цели f, нужно сначала достичь цели f1 и т.д.
Некоторые подфункции могут быть воплощены параллельно с другими функциями, т.е. эти цели могут быть достигнуты независимо от других целей в блоке параллельных функций.
{2} f(f1(),f2()... fn())
В этом случае мы перечисляем параметры функции f через запятую. Для достижения цели f нужно достичь целей f1, f2... fn в произвольном порядке. Важно, чтобы все они были достигнуты. Тогда общая функция цели f примет значение TRUE.
Все это легко описывается и на языке LISP иерархическими списками.
Получили простейший язык представления и реализации планов.
Есть несколько замечаний к данному языку.
1. Часто невозможно детально описать весь план как в количестве всех требуемых подфункций - целей, так и оценить какие цели могут быть достигнуты параллельно с какими другими.
2. Достижение цели может быть неполным и все-же успешным, поэтому значение функции должно быть каким-то другим, а не бинарным.
3. А как же быть в случае достижения нескольких целей, когда некоторые подцели будут присутствовать в нескольких других суперцелях? Должна быть какая-то борьба суперцелей за первоочередное достижение субцелей в интересах реализации этих суперцелей? А если эти суперцели антагонистичны?
4. Иногда вообще невозможно определить глобальную суперцель и приходится строить план лишь до определенного горизонта, который может быть отодвинут и расширен далее в процессе воплощения плана.
5. Тут совершенно не описано и непонятно какими средствами выдвигаются цели, а также оцениваются промежуточные результаты для дальнейшего воплощения плана.
6. В данном языке отсутствует описание требуемых действий, имеются лишь цели.
В общем, вот некоторые мои начальные измышления.