2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Кто прав..?
Сообщение13.12.2007, 09:18 


25/11/07
42
Получил реплику с утверждением: " Итерационный метод — это не метод, в котором присутствует цикл".

Причем этот вывод приводится, как следствие из следующих цитирований:
1. "Итерационные методы доставляют средство для приближенного решения системы линейных уравнений. Решение системы при помощи итерационных методов получается как предел последовательных приближений, вычисляемых некоторым единообразным процессом". Д.К.Фаддеев, В.Н.Фаддеева. Вычислительные методы линейной алгебры. 1963
2. "Итерационный метод позволяет найти приближенное решение..Само приближенное решение является результатом вычислений, полученным после конечного числа итераций". А.А.Самарский. Введение в численные методы.1982.
3. "Итерационным методам, т.е. методам, в которых точное решение может быть получено в результатет бесконечного повторения единообразных (как правило, простых) действий..." В.М.Вержбицкий. Основы численных методов. 2005.

Из БЭС :"ИТЕРАЦИЯ (от лат . iteratio - повторение) - Повторное применение какой-либо математической операции"

Я понимаю, так что повторное это и есть цикл - или я не прав..

 Профиль  
                  
 
 
Сообщение13.12.2007, 10:44 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Данный вопрос скорее относится к дискуссионным и терминологическим. Переношу из "Помогите решить"

Сделайте более информативное название

 Профиль  
                  
 
 Re: Кто прав..?
Сообщение13.12.2007, 11:04 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
Альберт120446 писал(а):
или я не прав..
Вам уже много раз говорили, но каждый раз получается об стенку горох.

Прямой метод (по определению!) - это метод, который позволяет найти точное решение (в предположении точной арифметики) путем конечной (заранее определенной, известной!) последовательности вычислений. Все! Можете рядить эти вычисления в какую хотите одежду, выделять циклы, условные операторы и т.д. Метод все равно является прямым. Метод, о котором Вы здесь таинственно намекаете, по форме безусловно прямой. В чем ценность этого метода, ответить Вы не можете.

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

 Профиль  
                  
 
 
Сообщение13.12.2007, 12:49 
Экс-модератор


17/06/06
5004
TOTAL писал(а):
Сколько для этого понадобится вычислений, организованных обычно в виде (почти) повторяющейся последовательности действий, называемых итерацией, заранее неизвестно.
Ну обычно количество итераций все-таки можно оценить. А в целом согласен с TOTALом. Метод, который при любых начальных данных за конечное число операций дает точное значение - прямой. Хотя это не мешает ему быть по форме похожим на итерационный.

 Профиль  
                  
 
 
Сообщение13.12.2007, 14:45 
Заслуженный участник


31/12/05
1525
AD писал(а):
Метод, который при любых начальных данных за конечное число операций дает точное значение - прямой. Хотя это не мешает ему быть по форме похожим на итерационный.
Смотря насколько "любые" начальные данные.
По этому определению метод сопряженных градиентов для решения произвольной системы - итерационный, а тот же самый метод для решения СЛАУ - прямой. Чем-то это напоминает зависимость сюръективности от области прибытия функции :)

 Профиль  
                  
 
 
Сообщение13.12.2007, 18:18 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
tolstopuz писал(а):
По этому определению метод сопряженных градиентов для решения произвольной системы - итерационный, а тот же самый метод для решения СЛАУ - прямой.

Именно так. Вообще говоря, «метод» — это алгорифм решения определённой задачи. (Область определения метода Ньютона — это гладкая функция, «ноль», и начальное значение.) И свойство «итерационности» — это описание поведения метода на всём множестве входных значений. И то, что в случае линейной функции он выдаст ответ за один шаг, ничего не меняет. Так же, как и то, что существуют полиномы, в которых при определённом начальном значении ответ будет найден за один шаг.

tolstopuz писал(а):
Чем-то это напоминает зависимость сюръективности от области прибытия функции

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

~~~

В некотором смысле, прямой метод — это программа, которая гарантированно останавливается, находя точный ответ. А итерационный — это программа, которая улучшает приближение к точному ответу, но может и не останавливаться никогда (если её не остановить).

 Профиль  
                  
 
 
Сообщение15.12.2007, 23:05 


25/11/07
42
TOTAL писал(а):
Итерационный метод позволяет (в общем случае) найти решение с заранее заданной точность. Сколько для этого понадобится вычислений, организованных обычно в виде (почти) повторяющейся последовательности действий, называемых итерацией, заранее неизвестно.

Неизвестно?
В другой теме tolstopuz показал,что обратный ход Якоби, записанный в итерационной форме дает решение через известное чило итераций. Возможен и иной путь, не прямой ход, преобразования исходного уравнения, для подготовки к итерациям, приводящим к точному решению.
незваный гость писал(а):
В некотором смысле, прямой метод — это программа, которая гарантированно останавливается, находя точный ответ

А как программа "узнает" о правильном ответе?

 Профиль  
                  
 
 
Сообщение16.12.2007, 01:05 
Заслуженный участник


31/12/05
1525
Альберт120446 писал(а):
В другой теме tolstopuz показал,что обратный ход Якоби, записанный в итерационной форме дает решение через известное чило итераций.
Обратный ход метода Гаусса, записанный в итерационной форме, эквивалентен частному случаю метода Якоби. В частных случаях итерационный метод может сходиться и за не более чем заранее известное число шагов. С диагональной матрицей, например, метод Якоби сходится за один шаг.
Альберт120446 писал(а):
незваный гость писал(а):
В некотором смысле, прямой метод — это программа, которая гарантированно останавливается, находя точный ответ
А как программа "узнает" о правильном ответе?
Программа узнает поставленную программистом команду останова. В итерационном методе управление попадает на нее при достижении требуемой точности, в прямом - по завершению заранее известного числа циклов.

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

 Профиль  
                  
 
 
Сообщение16.12.2007, 07:34 


25/11/07
42
tolstopuz писал(а):
программист уверен, что встречается только частный случай

А уверен он может быть только в случае использования программы, где реализован этот самый частный случай, другими словами, в частном случае итерационная процедура (метод) может быть прямой.
Пока что, я только от Вас слышу подтверждение своей позиции.

 Профиль  
                  
 
 
Сообщение16.12.2007, 08:11 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Альберт120446 писал(а):
А как программа "узнает" о правильном ответе?

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

Но Ваш вопрос подразумевает, что программа должна как-то «узнавать». Обычно, это не нужно: при построении прямого метода указывается, за какое именно количество шагов мы получим нужный результат. Поэтому программа не думая делает предписанное число шагов.

Альберт120446 писал(а):
А уверен он может быть только в случае использования программы, где реализован этот самый частный случай, другими словами, в частном случае итерационная процедура (метод) может быть прямой.

Не уверен, что правильно понимаю Вас, но думается, Вы неправы. Программист может быть уверен только в одном случае: если он проанализировал входные данные, и доказал, что они удовлетворяют каким-либо дополнительным условиям (в силу особенностей решаемой задачи). После этого он может писать / модифицировать программу.

 Профиль  
                  
 
 
Сообщение16.12.2007, 09:08 


25/11/07
42
Альберт120446 писал(а):
в частном случае итерационная процедура (метод) может быть прямой.

незваный гость писал(а):
Не уверен, что правильно понимаю Вас

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

 Профиль  
                  
 
 
Сообщение22.12.2007, 11:52 


25/11/07
42
Вообще говоря, а почему не признать правоту автора фразы: " Итерационный метод — это не метод, в котором присутствует цикл". Точно также будет прав и автор фразы: "Дважды два равно десять", можно вспомнить, что существуют несколько чемпионов мира в одном и том же виде спорта...В конце концов существуют разные версии чемпионатов, систем счисления и пр. Все же надеюсь, что я попал на форум, где "работают" общепринятые определения, одно из которых - итерационный, используемое в ряде случае в качестве синонима определения "приближенный", понимается, как повторяющийся, а повторение характеризуется периодом или циклом, и не одним, если вспомнить разложение периодической функции в ряд Фурье

 Профиль  
                  
 
 
Сообщение23.12.2007, 06:11 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Можно, конечно, и так. Только стоит не забывать, что термины, язык — это средство общения. И потому должны пониматься собеседниками одинаково.

То, что термин имеет разный смысл в разных областях — это нормально. Так же, как то, что традиции в разных областях не совпадают. [[ Помню матан, первый курс. Профессор написал $x \cdot y \not= 0$ и почесал дальше. Мой приятель никак не мог понять, почему из этого следовало, что $x \not= 0 \wedge y \not= 0$. Он был алгебраист, … то что нет делителей нуля для него не было очевидно. ]] Поэтому понятие «общепринятого» без указания области обычно не имеет смысла.

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

 Профиль  
                  
 
 
Сообщение23.12.2007, 19:40 


25/11/07
42
Сформулирую свое мнение в форме высказывания:
1. Итерация - это цикл
Это я считаю общепринятым (сопадающим с мнением большинства (не абсолютного - фраза " Итерационный метод — это не метод, в котором присутствует цикл", подтверждает наличие не согласных)
2. Итерационный.- сининим прямого. Общепринятое мнение - противоположное.
Основа доказательства моего мнения - обратный ход (здесь подсказан), вариант метода простой итерации, дающий точное решение, как прямые.

 Профиль  
                  
 
 
Сообщение25.12.2007, 03:11 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Альберт120446 писал(а):
1. Итерация - это цикл

Позволю себе не согласиться. Например, Математическая энциклопедия говорит: «итерация — результат повторного применения какой-либо математической операции». При этом словосочетаниям «итерационный алгорифм» и «итерационный методы» отведены две отдельные большие статьи. Что позволяет сделать вывод, что авторы М.Э. не считают смысл этих словосочетаний сводимым к сумме смыслов слов. :)

Так что, с общепринятым туго.

Альберт120446 писал(а):
Сформулирую свое мнение в форме высказывания: ‹…› 2. Итерационный.- синоним прямого. Общепринятое мнение - противоположное.

Вы, конечно, можете иметь своё мнение, например, о цвете неба. Вы можете говорить, что оно — оранжевое, и доказывать это. Но спор в этот момент уже теряет смысл: начинается спор о словах, а не о математике. Смысл «общепринятого» понимания термина в том, что его не надо определять, его и так все (работающие в этой области) понимают так же.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Stratim, YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group