Re: бесконечный цикл за конечное время
От: dsorokin Россия  
Дата: 30.12.14 17:40
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а что вы думаете?


В ленивом языке бесконечный цикл можно даже и не выполнять, а просто считать выполненным... Серьезно, в Haskell даже есть два обозначения, подходящие под понятие бесконечного цикла. Значение undefined можно использовать в коде, а еще там есть (_|_), и это не шутка
Re: бесконечный цикл за конечное время
От: B0FEE664  
Дата: 06.01.15 13:47
Оценка:
Здравствуйте, мыщъх, Вы писали:

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

М>а что вы думаете?

Из матанализа мы знаем, что некоторые бесконечные циклы люди выполняют за вполне конечное время. Например:

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

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

Сначала попробую пояснить на примере. Как известно, нет аналитического способа выбрать случайный элемент из бесконечного множества при соблюдении равновероятностного условия. Однако в аналоговом мире это не совсем так. Возьмём, например, жидкостный переменный резистор и установим его в произвольное положение. Ток, который пройдёт через этот резистор, будет некой случайной величиной между возможным максимумом и минимумом и, в идеальном мире, таких произвольных положений было бы бесконечно много... Позволяет ли это задачу? И да, и нет, в зависимости от ответа на вопрос "вам шашечки или ехать?".

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

Следующим шагом в этих рассуждениях следует пристально рассмотреть квантовый компьютер... но в них я не сведущ.
И каждый день — без права на ошибку...
Re: бесконечный цикл за конечное время
От: alexsoff Россия  
Дата: 12.01.15 19:10
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>некоторые бесконечные циклы возможно выполнить за конечное время при наличии бесконечных ресурсов.

Тут уже приводили листинги программ бесконечных циклов за конечное время, приведу и свою. Она будет работать только при наличии бесконечных ресурсов на выполняющей машине. Подробности в комментариях.
class Program
    {
        static void Main(string[] args)
        {
            var index = 1;//думаем, что емкость index может вмещать любое натуральное число
            var sum = 1.;//думаем, что емкость sum может вмещать любую десятичную дробь с бесконечной точностью
            do //думаем, что одна итерация с арифметическими операциями, без Thread.Sleep ничего не занимает по времени
            {
                Thread.Sleep(1/index);//думаем, что данная функция может останавливать выполняющий поток (единственный на машине) на любое число секунд (в виде десятичной дроби) с бесконечной точностью
                index*=2;
                sum += 1.0/index;
            } while (sum!=2.);//с таким условием цикл выполнит бесконечное число итераций

            //Выйдем из бесконечного цикла за 2 секунды
        }
    }
Re[2]: бесконечный цикл за конечное время
От: kl Германия http://stardog.com
Дата: 13.01.15 10:59
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Если же вернуться к конечным циклам, то практике, доводилось встречать буквально пару нетривиальных алгоритмов, в которых экспонента по времени могла быть эффективно устранена введением экспоненты по памяти. Но это было возможно, скорее из-за несовершенства исходных алгоритов, нежели в силу существования какого-либо обобщенного подхода к переносу экспоненты между различными типами ресурсов.


Но при этом существуют интересные соотношения между требованиями к времени и памяти. Например, недетерминированная МТ, решающая задачу в пределах полиномиальной памяти, может быть сведена к детерминированной, которая так же будет использовать полиномиальную память (хотя когда впервые студенты видят теорему Савича, это кажется удивительным, т.к. казалось бы мы выигрываем экспоненту по времени "за почти просто так").
no fate but what we make
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.