GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (5)След. > >>   Поиск:  
 Автор Тема: Планировщик задач (построитель алгоритмов) для робота
r
Сообщений: 837
Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:27
Изменено: 24 авг 16 5:21
Тред посвящен теме автоматического создания машиной алгоритмов под решение поставленных задач и последующего их исполнения.

Продолжительное время неназойливо интересует проблема создания так сказать искусственного, не побоюсь этого слова, программиста. Иначе говоря, интересно каким образом можно полноценно автоматизировать процесс написания программ. Ну и планировщик задач в этой проблеме занимает одно из ключевых мест. Так что он тоже попадает в область прямого интереса. Возможно я когда нибудь соберусь с мыслями и реализую что-то такое.
Смотрю, иногда в темах проскакивает обсуждение планировщика, да и самому приходилось писать соображения по этому вопросу кое-где. Может когда-то перенесу сюда, если кто-то сделает работающий поиск по форуму
Так вот, если не в лом, можно обсуждать здесь, по крайней мере в одном месте будет.
[Ответ][Цитата]
гость
78.25.121.*
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:30
Изменено: 24 авг 16 5:07, автор изменений: r
планировщик и метапланировщик
эвристики планирования
обучение планированию
[Ответ][Цитата]
r
Сообщений: 837
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:44
Изменено: 24 авг 16 5:08
Дубль из другой ветки, для истории так сказать:
Не задача состоит из целей, а цель из задач. Предлагаю все же под целью иметь в виду недостижимое состояние мира, а если и достижимое, то как минимум в долгосрочной перспективе. Краткосрочные желаемые состояния лучше называть задачами. Текущие (особо краткосрочные) желаемые состояния (как составная часть задачи) - подзадачами. Цели и задачи могут ставиться как самой системой ИИ, так и поступать извне. А разбиение задачи на подзадачи производится только самой ИИ, на основе собственного опыта.
Другими словами, достижение цели это целый процесс, решение задачи - логически завершенный, обособленный алгоритм, решение подзадачи - выполнение элементарного действия.

В Вики разделение немного отличается, но все одно, цель состоит из задач, а не наоборот.
Цель
Задача
[Ответ][Цитата]
ТакПриходящий
Сообщений: 134
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:47
Изменено: 24 авг 16 5:08, автор изменений: r
Если речь про написание ИИ, то это несколько иное чем скажем какое нибудь GUI накидывать или строчить классы для баз данных на полуавтомате, когда можно в день без напряга >1000 строк кода выдавать. В ИИ творческие муки, можно зависнуть на каком нибудь тройном цикле в 50 строк на неделю, частенько потзадачи вообще подвисают и откладываются на месяцы, потом вдруг само приходит решение, или на свежую голову садишься и за пол дня, сказочным образом решаешь что ранее делал пару недель без результата, тут "парное программирование" не катит, написание ИИ как правило эволюционно-инкрементно, путём нерегулярных бифуркаций не по графику. А то что по графику дешевле юнцов 25-летних нанять после курсов.
[Ответ][Цитата]
Эгг
Сообщений: 13015
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:53
Изменено: 24 авг 16 5:10, автор изменений: r
В проблематике целеполагания и проектов нужно различать следующие уровни сложности:

1. Задача как маршрут. Когда не нужно ничего менять, кроме состояния. Перейти из S1 в S2 по какому-то маршруту, следуя той или иной оптимизационной логике.

2. Задача как конфигурирование. Когда есть элементы и из этих элементов нужно сложить какой-то объект, удовлетворяющей задачной спецификации.

3. Задача как инструкция. Когда есть функции, способности, операции, эффекторы и необходимо найти последовательность их применения к начальным условиям, для того, чтобы получить требуемые конечные.

Всё многообразие задач сводится к этим трем.
[Ответ][Цитата]
TimKruz
Сообщений: 323
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 8:58
Изменено: 24 авг 16 5:10, автор изменений: r
Чтобы ИИ смог выполнять программистские задачи, он должен знать и понимать не только устройство компьютера, ОС и ЯП, но и многие жизненные вещи, иначе это получится не программист, а генератор кода. Так что чтобы сделать искусственного программиста - придётся сделать искусственного человека и обучить его на программиста.

В этом плане программистам повезло: если ИИ будет развиваться постепенно (а не лавинообразно), то программистов заменят роботами в последнюю очередь...
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 10:29
Изменено: 24 авг 16 5:13, автор изменений: r
Цитата:
Автор: r
Продолжительное время неназойливо интересует проблема создания так сказать искусственного, не побоюсь этого слова, программиста. Иначе говоря, интересно каким образом можно полноценно автоматизировать процесс написания программ.

Не про планировщик (ибо правильно сказали, что планирование - это отдельно и т.д.) - но про программистские задачки. Пару примеров.

На днях случился скачок точности в автоматическом написании регэкспов по спецификациям на естественном языке. Статья "Neural Generation of Regular Expressions from Natural Language with Minimal Domain Knowledge" http://arxiv.org/abs/1608.03000

Ну или работа 2летней давности "Learning to Execute" https://arxiv.org/abs/1410.4615 -
там нейросетка по исходному тексту программы "вычисляет" её ответ.
В отличие от тестов, которые могут сказать об ошибке или о несовпадении ответа с известным - у нейронки можно будет попросить исправить текст проги так, чтобы вычисленный ответ совпал с желаемым. Вроде бы этой идеи в статье не описано - но она очевидна. Вот только осталось научить нейронку работать с исходными текстами более сложными, чем один простенький цикл и прочие примеры из статьи, и повысить её точность.
[Ответ][Цитата]
r
Сообщений: 837
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 10:56
Изменено: 24 авг 16 5:13
Цитата:
Автор: гость
планировщик и метапланировщик
эвристики планирования
обучение планированию
Планировщик однозначно должен быть адаптивным, но пока не думал по каким принципам эта адаптация должна работать.
Есть ли где-то перечисление/описание существующих эвристик?

Цитата:
Автор: ТакПриходящий
Если речь про написание ИИ, то это несколько иное чем скажем какое нибудь GUI накидывать...
Все верно, но речь не про разработку, а про обсуждение возможного внутреннего устройства.

Цитата:
Автор: Egg
В проблематике целеполагания и проектов нужно различать следующие уровни сложности:

1. Задача как маршрут. Когда не нужно ничего менять, кроме состояния. Перейти из S1 в S2 по какому-то маршруту, следуя той или иной оптимизационной логике.

2. Задача как конфигурирование. Когда есть элементы и из этих элементов нужно сложить какой-то объект, удовлетворяющей задачной спецификации.

3. Задача как инструкция. Когда есть функции, способности, операции, эффекторы и необходимо найти последовательность их применения к начальным условиям, для того, чтобы получить требуемые конечные.

Всё многообразие задач сводится к этим трем.
Так разве, по большому счету, первая и вторая не сводятся к 3й?

Цитата:
Автор: TimKruz
Чтобы ИИ смог выполнять программистские задачи, он должен знать и понимать не только устройство компьютера, ОС и ЯП, но и многие жизненные вещи, иначе это получится не программист, а генератор кода. Так что чтобы сделать искусственного программиста - придётся сделать искусственного человека и обучить его на программиста.
Да, достаточно знать, но понимать не обязательно, ну и жизненные вещи необязательны. А знания кое-как все таки можно задать через набор правил.
Такой ИП будет находится в той же среде, что и разрабатываемая программа, то есть он может ее пощупать: запустить ее и посмотреть результат, отладить. Правил конечно будет много. Потребуется знание ЯП, это само собой, но его обработка тоже легче обработки ЕЯ. Генератор кода это тупая программа, а хотелось бы что-то чуточку умнее. Чтобы ИП мог, к примеру, выдвинуть гипотезу по набору значений для типа данных, подтвердить ее или опровергнуть, сделав выборку из таблицы БД и проанализировав данные, выдвинуть гипотезу о поведении программы на определенных данных (то есть, как программа поведет себя в таком-то случае) и тому подобное. Хотя, для начала сойдет и генератор, почему нет, если он будет знать какие инструкции, например, в каких случаях работают быстрее и использовать именно их. Скажем сначала это будет генератор отдельных методов. Человек делает общую постановку "на пальцах", а дальше все делает генератор.
[Ответ][Цитата]
Эгг
Сообщений: 13015
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 11:06
Изменено: 24 авг 16 5:12, автор изменений: r
Цитата:
Автор: r
Так разве, по большому счету, первая и вторая не сводятся к 3й?

В первой меняются свойства и условия, во второй состав и устройство, в третьей изменяются (модифицируются) сами элементы.
[Ответ][Цитата]
r
Сообщений: 837
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 12:00
Изменено: 24 авг 16 5:12
Цитата:
Автор: Egg
В первой меняются свойства и условия, во второй состав и устройство, в третьей изменяются (модифицируются) сами элементы.
Мне больше нравится идея описания задачи через набор состояний объектов мира. В этом случае для планировщика нет разделения задач по видам, то есть они как бы все равны для него.
По-сути, задачу можно описать как желаемую ситуацию. То есть имеется текущая ситуация, а человек указывает машине, в какой ситуации она должна оказаться. Указывает через набор желаемых состояний объектов мира. Не всех конечно, а только характерных исключительно для желаемой ситуации. Этот ограниченный набор мгновенных состояний является ключом ситуации.
Ну а дальше система разбивает задачу на цепочку подзадач с промежуточными ситуациями и перескакивает из одной ситуации в другую по цепочке (выполняя построенную ранее планировщиком цепочку подзадач), используя элементарные (неделимые) операции (операторы, команды).
[Ответ][Цитата]
Эгг
Сообщений: 13015
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 12:06
Изменено: 24 авг 16 5:12, автор изменений: r
Цитата:
Автор: r
По-сути, задачу можно описать как желаемую ситуацию.

На самом деле, реальные задачи - это создания состояний, которых никогда не было раньше. В этом появляется возможность новаций и возможность модификации мира. То есть то, что является признаком интеллекта. Поиск нужного маршрута (это я перевел Вашу задачу на свой язык) - это простейший тип, здесь нет тайн и сложностей.
[Ответ][Цитата]
r
Сообщений: 837
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 12:23
Изменено: 24 авг 16 5:11
Цитата:
Автор: Egg
На самом деле, реальные задачи - это создания состояний, которых никогда не было раньше. В этом появляется возможность новаций и возможность модификации мира. То есть то, что является признаком интеллекта. Поиск нужного маршрута (это я перевел Вашу задачу на свой язык) - это простейший тип, здесь нет тайн и сложностей.
Хорошо, ну поверхностное (без деталей реализации, то есть на уровне аналитика/консультанта) описание новой функции которой никогда не было подпадает под реальную задачу?
[Ответ][Цитата]
Эгг
Сообщений: 13015
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 13:36
Изменено: 24 авг 16 5:11, автор изменений: r
Не понял Вашего вопроса.
[Ответ][Цитата]
r
Сообщений: 837
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 14:34
Изменено: 24 авг 16 5:11
Насколько я понял, вы классифицировали мою задачу как поиск маршрута, то есть простейшую. И что по-настоящему сложные задачи - это создание состояний, которых никогда не было раньше, переход в ситуацию, которой не было раньше.
Но для проблематики создания искусственного программиста, задача написания (по поверхностной постановке) машиной новой функции, которой никогда не было (можно читать, как создание нового состояния, новой ситуации, которой не было), будет встречаться довольно часто. Реализация такой системы ведь посложней реализации поиска маршрута.
[Ответ][Цитата]
Эгг
Сообщений: 13015
На: Планировщик задач (построитель алгоритмов) для робота
Добавлено: 20 авг 16 14:49
Изменено: 24 авг 16 5:10, автор изменений: r
Да. Но такая констатация ни к чему не приближает. Я не думаю, что в ближайшие десять лет искусственный программист станет актуальной задачей. Профессия программиста сегодня - это не профессия кодировщика, это профессия инженера, который проводит очень большой объем исследовательской и аналитической работы. Поэтому писать искусственного программиста я Вам рекомендую с искусственного аналитика. Или инвестора. Сейчас в мире довольно много относительно свободных денег, пусть Ваша система научится зарабатывать, тогда на эти деньги можно будет кого-нибудь нанять, кто начнет ставить задачу искусственного программирования.

[Ответ][Цитата]
 Стр.1 (5): [1]  2  3  4  5След. > >>