Имя: Пароль:
IT
 
Можете ли Вы дать формальное определение алгоритма?
0 rendez-vous
 
03.06.14
16:58
1. Могу дать формальное определение алгоритма. 67% (8)
2. Не могу 33% (4)
Всего мнений: 12

Можете ли Вы дать формальное определение алгоритма?
Имеется ввиду строгое определение, не содержащее в себе интуитивных и неформальных моментов.
161 Волшебник
 
модератор
03.06.14
18:53
(160) Однозначно.
162 PR
 
03.06.14
18:53
(158) Переводят, потому что как я выше сказал, мое мнение, что алгоритм может быть бессмысленным и бессвязным :))
163 Волшебник
 
модератор
03.06.14
18:53
(162) Не может.
164 PR
 
03.06.14
18:58
Это твое личное мнение или ты сошлешься на какое-то определение :))
165 Волшебник
 
модератор
03.06.14
19:00
(164) Не буду оригинальным.

https://ru.wikipedia.org/wiki/Алгоритм

Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий.
166 PR
 
03.06.14
19:02
(165) То есть
Пока Истина Цикл КонецЦикла;
это не алгоритм?
167 Волшебник
 
модератор
03.06.14
19:03
(166) Если у него есть цель, то алгоритм, иначе ошибка программирования.
168 PR
 
03.06.14
19:05
(167) А алгоритм может быть ошибочным?
169 Волшебник
 
модератор
03.06.14
19:05
В посте (53) я дал определение алгоритма.

"Алгоритм — это набор действий, ведущих к цели."

Могу дать формальное определение алгоритма.
170 Волшебник
 
модератор
03.06.14
19:05
(168) Да, алгоритм может быть ошибочным.
171 PR
 
03.06.14
19:12
(169) Ну, во-первых, не набор, а последовательность должна быть.
Набор действий
— Надеть парашют
— Выпрыгнуть из самолета
при одной последовательности приведет к одному результату, а при другой к другому.
172 PR
 
03.06.14
19:13
(170) И чем же тогда (166) не алгоритм? Бесцельностью? А что тогда цель? Стиснутые зубы и устремленный в будущее стальной взгляд?
173 Irbis
 
03.06.14
19:13
(171) цели тоже могут быть разные
174 Волшебник
 
модератор
03.06.14
19:14
(172) Типа того. Если есть цель и действия, ведущие к цели, то набор этих действий есть алгоритм.
175 PR
 
03.06.14
19:17
(173) Причем здесь это. Если уж цель и должна быть,то она должна быть однозначно определенной, а не какой попало.
176 Irbis
 
03.06.14
19:19
(175) Так о том и речь. Не зная цели определять является ли последовательность действий алгоритмом, или беспорядочным набором сложно. А ну как в примере цель была самоубийство
177 PR
 
03.06.14
19:26
(174) Я думаю, ты подменяешь понятия конечная цель и осознанность выполнения действий.
Осознанно составленной последовательности действий достаточно, чтобы назвать ее алгоритмом.
Даже если цели нет.
Точнее не так.
Даже если цель бессмысленна.
Например:
1. Сходить к парикмахеру, спросить, почем нынче фунт лиха
2. Найти миллиционера и исповедаться ему
3. Выкурить сигарету и громко рыгнуть
178 PR
 
03.06.14
19:29
(176) Алгоритмом является четкая осмысленная последовательность действий, а не то, будет ли в этом всем какой-то смысл.
1. Придти на железнодорожный вокзал
2. Вздохнуть
3. Вызвать такси
4. Застрелиться
это алгоритм, хотя и смысла здесь никакого.
179 Irbis
 
03.06.14
19:33
(178) Позволю себе не согласиться. Если нет цели, то любой другой набор действий столь же бессмысленных, приведёт к тому же результату. То есть ни к чему. Потому я определил алгоритм как последовательность дйствий приводящая к достижению поставленной цели.
180 PR
 
03.06.14
19:38
(179) И что? Причем здесь результат?
181 Волшебник
 
модератор
03.06.14
19:43
(180) "и эти люди автоматизируют страну"...
182 Irbis
 
03.06.14
19:44
К тому, результат действий нужно сопоставлять с целью, чтобы определить её достижение. Или придётся признавать алгоритмом любой набор действий.
183 PR
 
03.06.14
19:49
(182) Ну, в общем-то да. Как только мы выстроили действия в определенной последовательности, это сразу стало алгоритмом.
Возможно, мы его не осознаем.
Возможно, что у него нет смысла.
Возможно, что мы не сможем его повторить.
Возможно, что он никогда не выполнялся и не будет выполняться.
Но, если это последовательность действий, то да, это алгоритм.
184 PR
 
03.06.14
19:50
(181) Ты не путай определение термина и практический жизненный смысл :))
185 Irbis
 
03.06.14
19:52
(183) А почему последовательность должна быть "определенной", а не как бог на душу положит? Или алгоритм поменяется?
186 PR
 
03.06.14
19:54
(185) Можешь убрать слово определенной
187 Irbis
 
03.06.14
19:55
(186) Тогда это просто набор действий,  инет смысла называть его алгоритмом и вводить новое определение ни к чему не обязывающее.
188 PR
 
03.06.14
19:55
+(186) Любая последовательность действий — это алгоритм, но конкретный алгоритм — это конкретная последовательность действий, а не любая последовательность таких-то действий.
189 PR
 
03.06.14
19:59
(187) Нет. Потому что в определении алгоритма говорится про конкретный алгоритм, например сварить суп.
190 Irbis
 
03.06.14
19:59
(188) Любая последовательность не может алгоритмом. Вернее судить о том алгоритм это или нет не зная конечной цели не представляется возможным.
А зная цель можно говорить об ошибочном алгоритме и об алгоритме вообще.
191 PR
 
03.06.14
20:04
(190) Наделение последовательности действий дополнительными свойствами для того, чтобы можно было ее назвать алгоритмом — вопросы вкуса и мнений.
Я считаю, что последовательности действий достаточно для того, чтобы назвать это алгоритмом.
И у меня возможны и имеют смысл словосочетания "Неизвестный нам алгоритм", Бессмысленный алгоритм", "Алгоритм, который невозможно повторить", "Алгоритм, который никогда не выполнялся", "Алгоритм, который никогда не будет выполнен" и т. д.
192 rendez-vous
 
03.06.14
20:13
(165) Но как быть с алгоритмом, который не останавливается?
193 rendez-vous
 
03.06.14
20:15
(191) Как можно назвать действием, то что никогда не действовало?
194 Irbis
 
03.06.14
20:16
(192) А почему обязательно останавливаться? Системы стабилизации могут и не останавливаться и задачу выполнять. Так что с конечностью действий в рамках алгоритма очень неоднозначно.
195 rendez-vous
 
03.06.14
20:18
(194) По определению Волшебника выходит, что останавливаться надо обязательно.
196 rendez-vous
 
03.06.14
20:24
(157) Выходит определение в (1) не строгое?
Надо говорить: "набор не свершившихся действий"?
197 Irbis
 
03.06.14
20:25
(195) Можно и поспорить, но если определить временные рамки, частоту работы системы, теоретически можно свести и к конечному числу действий
Имхо конечным должен быть набор действий а не их число.
198 rendez-vous
 
03.06.14
20:28
(197) Так. А какое будет определение алгоритма? И будет ли оно формальным?
199 Irbis
 
03.06.14
20:36
(198) Последовательность действий, приводящая к решию поставленной задачи.
Поскольку цель может быть в принципе недостижимой, то и задачу можно рассматривать как цель конкретизированную во времени, пространстве, способах достижения и т. д.
200 Яйца 1С
 
03.06.14
20:36
200
201 rendez-vous
 
03.06.14
20:43
(199) Вот смотри. Представь себе код на каком-либо языке программирования. Достаточно длинный и сложный. Ты ведь не можешь знать: решает ли он задачу или нет.
По твоему определению получается, что какой-то код является алгоритмом, а какой-то нет. Причем выяснить этот вопрос нет никакой возможности (в общем случае).
Выходит, что алгоритм - это какая-то неведомая хрень.
202 Irbis
 
03.06.14
20:47
(201) Во-первых зная цель и видя код при достаточной степени подготовки можно и определить. На худой конец проверить исполнение. Алгоритм может содержат и вложенные алгоритмы. Ну и практику, как критерий истины тоже никто не отменял.
203 rendez-vous
 
03.06.14
20:49
(202) Можно определить в каком-то частном случае. В общем случае нельзя определить. И это утверждение имеет строгое математическое доказательство.
204 patapum
 
03.06.14
20:51
(0) дам такое определение.
алгоритм - это инструкция по выполнению определенных действий в определенном порядке.
цель я предпочту оставить за бортом, поскольку считаю возможными неправильные алгоритмы и бесцельные алгоритмы. но, имхо, привязка к цели - дело вкуса, а спорить о вкусах - дело дурацкое
205 Irbis
 
03.06.14
20:53
Цель известна, набор и последовательность действий известны, а определить приведёт ли все это к достижению цели нельзя? Взрыв мозга.
206 Irbis
 
03.06.14
20:54
(204) То есть просто набор действий и слово "определенных" лишнее?
207 rendez-vous
 
03.06.14
20:54
(205) Не существует алгоритма, вычисляющего остановку другого алгоритма.
208 patapum
 
03.06.14
20:55
(206) не набор действий, а инструкция по выполнению действий.
209 rendez-vous
 
03.06.14
20:55
(204) Неплохо. А что такое "инструкция"?
210 Irbis
 
03.06.14
20:56
(208) То есть важно как, и не важно что?
211 patapum
 
03.06.14
20:57
(209) а инструкцию я считаю первичным понятием и давать ее определение не буду. синонимы можно придумывать, но это не будет определением
212 Irbis
 
03.06.14
20:59
(207) Получается с вашей точки зрения существует "бессмысленный" алгоритм, а с моей он однозначно "ошибочный", поскольку не решает задач и не приводит кдостижению цели.
213 patapum
 
03.06.14
20:59
(210) кому важно как, и не важно что? я дал определение (причем не придумывал, а залез в википедию и слямзил, обрубив кусок про цель, по причинам, описанным в (204) )
214 Irbis
 
03.06.14
20:59
(212) То есть спор об аксиомах. Он действительно бессмысленный.
215 patapum
 
03.06.14
21:01
(212) если привязать определение алгоритма к его цели, то ошибочный алгоритм алгоритмом не является? можно дать и такое определение, но оно будет реально странным
216 rendez-vous
 
03.06.14
21:01
(211) Но, по большому счету, в вашем определении все слова, кроме "инструкция" не обязательны.
А сама инструкция - это неведомая хрень.
Получается, что алгоритм - это неведомая хрень.
Вы даете интуитивное определение, а не формальное.
217 patapum
 
03.06.14
21:04
(216) ок, а ты можешь дать формальное определение? (предлагаю общаться на ты, поскольку это проще и так общается здесь большинство народа)
218 rendez-vous
 
03.06.14
21:06
(212) Дело не в точках зрения. А в том, что не существует способа определить остановится ли эта программа или нет. Это математический факт. И из него вытекает некое практическое неудобство вашего определения.
Вот этот конкретный код. Это алгоритм или нет?
По вашему, получается, что может быть и так и не так. Причем нет надежного способа определения. Неудобно.
219 Irbis
 
03.06.14
21:06
(215) Почему странным, как ни смешно но в программах есть ошибки. И пока они не выявлены, это алгоритм. Как выявлены так ошибочный алгоритм.
220 patapum
 
03.06.14
21:08
(219) пока они не выявлены, неизвестно, алгоритм это или нет. если формально
221 Irbis
 
03.06.14
21:10
(218) Но и определение алгоритма, как некоторой последовательности действий, не связанных целью, просто ненужная сущщность
222 Asmody
 
03.06.14
21:11
Формального определения алгоритма не существует
223 Irbis
 
03.06.14
21:12
(220) Я боюсь ошибиться, но доказывают как правило наличие чего-то, а не остсутствие.
224 rendez-vous
 
03.06.14
21:13
(217) Нет. Любой грамотный специалист, давая определение алгоритму, подчеркивает его неформальность. Вопрос открыт со времен Тьюринга и Чёрча.
225 фобка
 
03.06.14
21:14
интересный спор..
алгоритм - это последовательность действий/вычислений/операций
если присмотреться к самому слову, можно выделить два корня "алг" (напоминает алгебру) и "ритм" (тут либо время либо движение, нужно гуглить но неохота).
226 rendez-vous
 
03.06.14
21:15
(223) Тьюринг доказал отсутствие. См. проблему остановки.
Это между прочим - основы.
227 rendez-vous
 
03.06.14
21:17
(225) Ни алгебры, ни ритма. Просто святой узбек.
228 rendez-vous
 
03.06.14
21:23
(225) Любая последовательность любых действий?
229 фобка
 
03.06.14
21:26
(228) последовательность может быть любой, действия могут быть любыми, на выходе все равно будет результат выполнения
230 фобка
 
03.06.14
21:26
в бесконечном цикле результата не будет, но это цикл тоже выполняется по алгоритму
231 фобка
 
03.06.14
21:27
либо бесконечность и есть результат
232 rendez-vous
 
03.06.14
21:28
(229)
1.ворона каркнула
2.машина бибикнула
3.Вася написал пост в форум

это - алгоритм?
233 фобка
 
03.06.14
21:30
(232) каждый из этих пунктов это результаты алгоритмов
234 rendez-vous
 
03.06.14
21:30
(233) Но ведь это - последовательность действий.
235 фобка
 
03.06.14
21:31
поправлюсь - результаты выполнения алгоритмов. Алгоритм не есть процесс, не есть выполнение
236 rendez-vous
 
03.06.14
21:31
(235) А что?
237 фобка
 
03.06.14
21:32
(236) алгоритм это описание
238 rendez-vous
 
03.06.14
21:33
(237) То есть - не само действие, а описание действия?
239 фобка
 
03.06.14
21:34
(234) если рассматривать это как некоторых действий во времени, то это алгоритм, который на выходе имеет три результата
240 rendez-vous
 
03.06.14
21:35
(239) Вы меня запутали. Так что есть алгоритм, по вашему, действие или описание действия?
241 фобка
 
03.06.14
21:36
(238) описание действия или действий. Проскакивало слово инструкция, оно неочень подходит. Инструкция это что надо делать, алгоритм это описание всех действий в процессе
242 фобка
 
03.06.14
21:36
(240) постарайся перечитать (235)
243 фобка
 
03.06.14
21:37
в 239 пропущено слово "последовательность"
244 PR
 
03.06.14
22:07
Мда, по сотому кругу пошли простейшие вещи мусолить :))
245 Волшебник
 
модератор
03.06.14
22:07
(225) А ты погугли, долбо
246 Волшебник
 
модератор
03.06.14
22:08
(244) Два смайлика не прикроют собственную тупость
247 PR
 
03.06.14
22:09
(246) Я всю свою аргументацию давно изложил :))
248 Волшебник
 
модератор
03.06.14
22:11
(247) можешь её смыть
249 фобка
 
03.06.14
22:11
(245) долбо? а это чо такое?
http://ru.wiktionary.org/wiki/долбо
250 PR
 
03.06.14
22:16
(248) Что не в духе-то? Аллергия на тополиный пух? :))
251 фобка
 
03.06.14
22:19
да, в википедии интересная статья про историю термина

Само слово «алгоритм» происходит от имени хорезмского учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми (алгоритм — аль-Хорезми).

кстати по корням я не так далёк был (фоб редко ошибается), если читать далее
...
В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum («Алгоритмы о счёте индийском»). По-арабски же книга именовалась Китаб аль-джебр валь-мукабала («Книга о сложении и вычитании»). Из оригинального названия книги происходит слово Алгебра (алгебра — аль-джебр — восполнение).

wiki:%C0%EB%E3%EE%F0%E8%F2%EC
252 Irbis
 
03.06.14
22:26
(251) В СССР этому  школе учили
253 kokamoonga
 
03.06.14
22:40
(251) ну хоть какая-то польза от этой ветки образовалась
254 фобка
 
03.06.14
22:57
(253) Алгоритм - это искаженное аль-Хорезми, всё просто!

Могу дать формальное определение алгоритма.
255 France
 
04.06.14
00:08
Не математик.

Не могу
256 France
 
04.06.14
00:10
(98) ВР то спасибо сказал, а я грю - гад, опередил в части моего собственного определения))
257 rendez-vous
 
04.06.14
11:03
(255) Возможно, ты удивишься, когда узнаешь, что математики тоже не могут.
258 rendez-vous
 
04.06.14
11:05
(251) Это все конечно здорово. Но что это объясняет?
259 Любопытная
 
04.06.14
11:17
(258) Ты вроде сам сказал, что нет формального определения. Тебе зачем это вообще?
260 acsent
 
06.06.14
18:20
из БСЭ:
Алгоритм, одно из основных понятий (категорий) математики, НЕ ОБЛАДАЮЩИХ  формальным определением в терминах более простых понятий, а абстрагируемых непосредственно из опыта
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.