GotAI.NET

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

 

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

 Все темы | Новая тема Стр.4 (6)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Метаалгоритмы
shuklin
Сообщений: 2053
На: Метаалгоритмы
Добавлено: 03 авг 09 21:02
Цитата:
Автор: гость

"Как её восстановить, если она сохранилась (как собрать назад электрон и позитрон?"
знает следящий, у него есть алгоритм, как именно это происходит, собсно, именно он и обеспечил выполнение этого алгоритма. Или, может, вы думаете, что оно САМО?

это не ответ, а побег от решения задачи. "следящий" оказывается сложнее чем процесс за которым он наблюдает. И возникает вопрос: а как устроен "следящий", каковы его алгоритмы функционирования ... В результате проблема не упрощается а только усложняется. Ситуация запутывается.

Кто следит за следящим, кто следит за тем кто следит за ...
[Ответ][Цитата]
ИЦ
Сообщений: 3747
На: Метаалгоритмы
Добавлено: 03 авг 09 21:44
.
[Ответ][Цитата]
ИЦ
Сообщений: 3747
На: Метаалгоритмы
Добавлено: 03 авг 09 21:44
.
[Ответ][Цитата]
Что-то разумное, типа чувака
Сообщений: 297
На: Метаалгоритмы
Добавлено: 04 авг 09 0:36
Цитата:
Автор: shuklin

Назовем метаалгоритмом алгоритм который на вход получает некоторый алгоритм и на входе результатом работы которого является модификация входного алгоритма.
Предлагаю обсудить структуры представления знаний и методики постороения метаалгоритмов


Как я понял необходимо построить алгоритм делающий преобразование алгоритма в алгоритм, но полученный алгоритм должен так же безошибочно решать ту же задачу, что и входной алгоритм, но и более того: выходной алгоритм должен более оптимизировано решать входную задачу, то есть проводить меньшее число операций, с тем же результатом.

Так?
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Метаалгоритмы
Добавлено: 04 авг 09 0:47
Не обязательно. Можно любой, лишь бы на входе и/или выходе были алгоритмы.
Самый простой это каррирование, подставляем значение одного параметра и получаем функцию от оставшихся. Еще популярная задача по формуле функции получить формулу ее производной. Операторы разные, функционалы, много таких задач. Особая метафункция это интерпретатор, она получает на входе функцию и значения аргументов.
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Метаалгоритмы
Добавлено: 04 авг 09 0:50
Цитата:
Автор: Что-то разумное, типа чувака

Как я понял необходимо построить алгоритм делающий преобразование алгоритма в алгоритм, но полученный алгоритм должен так же безошибочно решать ту же задачу, что и входной алгоритм, но и более того: выходной алгоритм должен более оптимизировано решать входную задачу, то есть проводить меньшее число операций, с тем же результатом.

Так?


Не обязательно. Я подразумевал некоторые кодогенераторы в общем виде.

Хотя и такой более точной и более узкой формулировке можно найти применение. Для начала можно рассмотреть оптимизаторы. Хороший пример на котором можно отработать приемы.
[Ответ][Цитата]
Что-то разумное, типа чувака
Сообщений: 297
На: Метаалгоритмы
Добавлено: 04 авг 09 1:17
Цитата:
Автор: NO.

Не обязательно. Можно любой, лишь бы на входе и/или выходе были алгоритмы.


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

А просто пример алгоритма оптимизирующего алгоритм, привожу:

Рассмотрим задачу:
Пусть задано натурально число N.
Требуется получить число N из числа 1 некоторым числом следующих операций:
1. Прибавление к числу единицы.
2. Умножение числа на 2.

Для любого заданного числа количество операций конечно. Тогда, алгоритм решения задачи представим в виде булевской строки, где 0 показывает выполнение операции под пунктом 1, а 1 показывает выполнение операции под пунктом 2.
Назовем алгоритм A1 более оптимизированным чем алгоритм A2, если размер "строки алгоритма" A1 меньше чем размер "строки алгоритма" A2.

Для любого числа N, решением задачи будет алгоритм в виде строки: из N-1 нулей. Возмем его за эталонный, самый не оптимизированный.

Построить метаалгоритм, преобразующий "строку алгоритма" в более короткую строку, можно следующим способом:
Сам метаалгоритм составить из списка функций, преобразующих кусочки строки в более короткие кусочки, для чего нужно составить базу данных этих функций, для чего нужно предварительно создать алгоритм обучающий метаалгоритм, т.е. создающий эту базу.
Далее метаалгоритм прогоняет входную "алгоритмическую строку" и делает сверку кусочков строки со своей базой, при совпадении заменяет.
И прогнав несколько раз алгоритм, пока алгоритм будет сужаться, через метаалгоритм, мы получим более оптимизированный алгоритм.

Ну конечно эффективность метаалгоритма будет зависеть от размера его базы данных, и памяти нужно будет немерено. Создать более хитрый вариант построения, это уже нужно подумать...
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Метаалгоритмы
Добавлено: 04 авг 09 1:26
гораздо интереснее и полезнее метаалгоритм, который на вход получает текст программы для юникс а на выходе выдает максимально возможно близкий аналог для винды.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Метаалгоритмы
Добавлено: 04 авг 09 1:32
Цитата:
Автор: Что-то разумное, типа чувака
Создать более хитрый вариант построения, это уже нужно подумать...

Можно просто делить строку нулей пополам и если есть остаток выдавать 10, а если нет 1. Получим почти двоичную запись.

Еще хорошо если мета-алгоритм и обрабатываемые им алгоритмы были бы на одном языке.
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Метаалгоритмы
Добавлено: 04 авг 09 1:38
Цитата:
Автор: NO.
Еще хорошо если мета-алгоритм и обрабатываемые им алгоритмы были бы на одном языке.

алгоритм вещь абстрактная. алгоритмы можно записать на любом достаточно полном языке.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Метаалгоритмы
Добавлено: 04 авг 09 1:52
Цитата:
Автор: shuklin
алгоритм вещь абстрактная. алгоритмы можно записать на любом достаточно полном языке.

Что такое алгоритм не известно. Есть даже теорема что множество всех алгоритмов нельзя описать в признаках. Я на википедии написал что алгоритм любая информация для которой существует интерпретатор.
[Ответ][Цитата]
Андрей
Сообщений: 3944
На: Метаалгоритмы
Добавлено: 04 авг 09 1:53
В данной теме имеет смысл обсуждать только рекуррентные метаалгоритмы. Ибо если метаалгоритм не применим к самому себе, значит это не истинный метаалгоритм, а самый обычный алгоритм для некоторого ограниченного класса входных данных.

Рекуррентный метаалгоритм тем хорош, что вынуждает неотвратимо мыслить правильно. Мыслить данные, операции над ними и результат как одно целое. Впрочем они всегди были и остаются одним целым, это люди всё поделили. Вы и дальше, я смотрю, хотите делить - тогда ничего не получится.
[Ответ][Цитата]
Что-то разумное, типа чувака
Сообщений: 297
На: Метаалгоритмы
Добавлено: 04 авг 09 2:02
Цитата:
Автор: shuklin

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


Ну это уже работа не на один месяц и не для одного человека...

Цитата:
Автор: NO.


Можно просто делить строку нулей пополам и если есть остаток выдавать 10, а если нет 1. Получим почти двоичную запись.



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

[Ответ][Цитата]
shuklin
Сообщений: 2053
На: Метаалгоритмы
Добавлено: 04 авг 09 2:03
Цитата:
Автор: Андрей
В данной теме имеет смысл обсуждать только рекуррентные метаалгоритмы.

от простого к сложному никак нельзя? обязательно сразу большую халяву?
[Ответ][Цитата]
Андрей
Сообщений: 3944
На: Метаалгоритмы
Добавлено: 04 авг 09 2:14
Цитата:
Автор: shuklin
от простого к сложному никак нельзя?
А можно быть немножко беременной? А можно найти конец у кольца?
Тут или метаалгоритм и тогда он рекуррентный, либо просто алгоритм (квазипсевдометаалгоритм - если угодно себя обманывать).

Да и вообще, что тут сложного? Это просто, если об этом думать просто и непредвзято. А если ты хочешь ехать в поезде и слона с собой взять - не получится. Тут либо ехать, либо слон.

Подсказка: данные, процедуры и результаты всегда находятся в некотором пространстве и занимают в нём определённое место.

Совет: мне хорошие мысли приходят, когда я бельё полощу - кровь к голове приливает.
[Ответ][Цитата]
 Стр.4 (6)1  2  3  [4]  5  6<< < Пред. | След. > >>