Обговорення:Алгоритм

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Стаття «Алгоритм» входить до спільного для всіх мовних розділів Вікіпедії списку необхідних статей.
Її покращення й доведення до статусу вибраної є важливим напрямком роботи проєкту.
Ця стаття належить до числа добрих. Див. сторінку обговорення. Статус надано 2 квітня 2010 року.
Рік 2010 2011 2012
Переглядів 17750 31159 39355

Зміст статті[ред. код]

vityok 15:37, 3 березня 2010 (UTC): Пропоную наступний зміст:[відповісти]

  1. 1em Історія
  2. 1em Визначення
    1. 1em Неформальне визначення
    2. 1em Формальне визначення
      1. 1em Машина Тюринга
      2. 1em Рекурсивні функції
      3. 1em Нормальні алгорифми Маркова
    3. 1em Рандомізовані алгоритми (недетерміновані)
  3. 1em Алгоритмічно нерозв'язні задачі (поліпшити посилання на джерела, перевірити та трохи доповнити)
  4. 1em Аналіз алгоритмів
    1. 1em Час роботи
    2. 1em Доведення вірності
  5. 1em Представлення алгоритмів (як описувати алгоритм, блок-схеми, алгоритмічні мови, мови програмування, скінченні автомати та діаграми станів, тощо)
  6. 1em Реалізація алгоритмів (в кремнії, програмування)
  7. 1em Приклади

Бажані теми[ред. код]

Слід згадати про:

  • недетермінована машина Тюринга
  • стохастична машина Тюринга (для моделювання стохастичних алгоритмів?)
  • квантовий ком'ютер (щось нове, не всюди згадують про них)
  • 1em формальні методи (для доведення вірності)

Коментарі[ред. код]

Стаття написана добре! Можна ще сказати про два правила Мугаммада, якими є шкільні формули:

1. Вирішення рівняння :

2. Вирішення квадратного рівняння. --Борис Пряха 19:57, 19 березня 2010 (UTC)[відповісти]

Дякую за теплий відгук. На жаль, я помітив деякі мовні огріхи в статті й ще пару днів її притримаю а потім подаватиму на добру.
Як приклад вже наведено один "стандартний" арифметичний алгоритм — алгоритм Евкліда. Я так планував, що в якості додаткового прикладу було б бажано навести щось незвичне, наприклад, обчислення на квантових або хімічних (молекулярних) комп'ютерах, аби в читача було ширше уявлення про можливості та розмаїття реалізації алгоритмів.
Ще раз дякую--vityok 19:03, 21 березня 2010 (UTC)[відповісти]

Пропозиції щодо оформлення[ред. код]

Стаття непогано, кілька днів назад їй бракувало зв"язності, але тепер доволі непогано читається. В мене є пропозиції, стосовно малюнків. Пропоную використати наступний малюнок, або замість блок-схеми наведеної в розділі "Представлення алгоритму", або на початку статті, по прикладу англійської вікіпедії. Блок-схема конкретного алгоритму, дає краще уявлення, про предмет мовлення ніж абстрактна загальна блок-схема. Взято з Інформатика 5-й клас , перемалював, щоб краще було видно і згідно стандарту. Можу, також пізніше написати формально-словесне представлення:

Блок-схема алгоритму визначення дієвідміни в дієслові

Volodimirg 12:35, 22 березня 2010 (UTC)[відповісти]

Дякую. Гадаю, ліпше замінити блок-схему в розділі "представлення", бо вона там потрібна, а дві блок-схеми на одну статтю виглядатимуть зайвими. Зображення на початку статті також можна замінити, лише альтернативу підібрати б...--vityok 12:43, 22 березня 2010 (UTC)[відповісти]

Зображення[ред. код]

Пропоную додати декілька зображень. Ну хоча б фото Тюринга. А то стаття сирувато виглядає. --Вальдимар 21:16, 22 березня 2010 (UTC)[відповісти]

Пропоную зображення машини Тьюринга: --Bunyk 22:25, 22 березня 2010 (UTC)[відповісти]

Додав фото Ади Лавлейс та анімацію зі схематичним зображенням роботи простої машини Тюринга.--vityok 15:16, 23 березня 2010 (UTC)[відповісти]

Деякі питання та зауваження[ред. код]

Гарна, велика, читабельна стаття. Навіть не знаю чи вправі я як новачок вносити тут свої рекомендації. Я ж бо навіть критерії такої номінації ще не читав... Однак:

Можна було б якось наголосити на тому, що МТ-обчислюваність, ЧРФ-обчислюваність, та нормальна обчислюваність еквівалентні. І ще, кожен алгоритм має номер, та існує кодування, що дозволяє поставити в еквівалентність номери для МТ, ЧРМ та НАМ.

Однак слід відрізняти стохастичні алгоритми та методи, які дають з високою ймовірністю правильний результат. На відміну від методу, алгоритм дає коректні результати навіть після тривалої роботи. - З цього абзацу я так і не зрозумів що таке стохастичний метод, і як він відрізняється від алгоритму. Може варто написати що таке метод, і що він на відміну від алгоритму?

Що таке РАМ-машина? В нас на теорії алгоритмів вчили поняття Машина з натуральнозначними регістрами. Може це регістрова машина?

У розділі "Властивості алгоритмів" можливо забули дискретність. Алгоритм складається з елементарних кроків. Виконання наступного кроку не починається, поки не завершиться виконання попереднього.

І прикладів справді можна більше. З екзотичних... Може генетичні алгоритми? --Bunyk 22:25, 22 березня 2010 (UTC)[відповісти]

Звичайно ж можете рекомендації подавати: в решті решт, статтю ж не для одних вікіпедистів написано. Та і досвід у Вікіпедії не грає в питаннях наповнення статей жодної ролі.
Відповідатиму на висловлені зауваження далі "по пунктах"
  1. Трохи розширив про метод та алгоритм. Якщо коротко, то деякі книжки кажуть про метод (коли результат обчислень невірний з деякою ймовірністю), а інші називають це алгоритмом Монте-Карло.
  2. Про еквівалентність визначень згадано на початку розділу "Формальне визначення", може треба було окремим розділом, але тоді стаття ще більше розшириться...
  3. створив статтю РАМ-машина
  4. властивості алгоритмів було взято з книжки Кнута, а там дискретності чомусь не було. Додав дискретність з посиланням на "конспект лекцій..."
  5. еволюційні/генетичні алгоритми все ж таки близькі до електронних комп'ютерів, а хотілось би щось незвичне таке, я б обрав або квантові, або хімічні комп'ютери
Дякую за пропозиції, (-; запрошую до наступної ітерації обговорення нової версії статті.--vityok 14:34, 23 березня 2010 (UTC)[відповісти]
  1. Пропоную представлення алгоритмів переставити вище і тут вже згадувались генетичні алгоритми, непогано б було б згадати трішки про них - це доволі цікава тема. --Volodimirg 17:44, 23 березня 2010 (UTC)[відповісти]
  1. «На численні просьби трудящих» згоден з необхідністю навести генетичний алгоритм в якості додаткового прикладу.--vityok 09:18, 24 березня 2010 (UTC)[відповісти]

@Рассилон та Yuriz: Ви повністю впевнені що в 2010 році VictorAnyakin створив статтю RAM-машина, а не названу якось інакше? Бо історія редагувань, як і його повідомлення стверджує трохи інше. --Буник (обговорення) 14:29, 18 грудня 2019 (UTC)[відповісти]

@Bunyk: так, стаття була створена з іншою назвою--vityok (обговорення) 09:44, 19 грудня 2019 (UTC)[відповісти]

Задача зупинки[ред. код]

Тут слово будь-які, в статті проблема зупинки вказані, що докорінно міняє зміст. Як на мене, будь-які неправильно. --Дядько Ігор 18:45, 23 березня 2010 (UTC)[відповісти]

Справа в тому, що "проблема зупинки" не посилається на джерела інформації, а визначення з цієї статті посилається на:
  • computability and complexity. Encyclopedia of computer Science and Technology. Facts On File. 2009. ISBN 978-0-8160-6382-6. Given any computer program, can you determine whether the program will halt (end) given any input?
де вжито саме «given any input». Мені довелось взяти визначення з цієї енциклопедії, оскільки не вдалось знайти визначень так само доступно сформульованих в інших виданнях.--vityok 08:59, 24 березня 2010 (UTC)[відповісти]

Список ?[ред. код]

У визначенні стоїть список, а не перелік і не послідовність, що породжує запитання у читача - який алгоритм складається з інструкцій, які можна виконувати в будь-якому порядку? Стаття не дає на це запитання відповіді. Я не знаю, чи це помилка. --Дядько Ігор 19:14, 23 березня 2010 (UTC)[відповісти]

мені здається, що список, на відміну від множини (англ. set), вже задає порядок слідування елементів. Той же Лісп явним чином розглядає програми як вкладені списки.--vityok 09:20, 24 березня 2010 (UTC)[відповісти]

Недоступне зовнішнє посилання[ред. код]

Протягом кількох автоматичних перевірок наступне зовнішнє посилання було недоступне. Будь ласка, перевірте чи посилання справді "мертве" і в такому випадку виправіть або видаліть його!

--DixonDBot 13:07, 7 січня 2011 (UTC)[відповісти]

Види алгоритмів[ред. код]

@Владислав Карпік: Добридень! Дякую за вашу увагу до статті та хотів би попросити вказати джерела звідки взято інформацію. Тому поки що вашу правку буде відкинуто, але вона залишиться в історії та може бути відновлена щойно будуть вказані джерела інформацію. Дякую та сподіваюсь на розуміння.--vityok (обговорення) 11:14, 13 листопада 2017 (UTC)[відповісти]

@VictorAnyakin: Доброго дня. Ось посилання на джерела інформації: https://sites.google.com/site/infosite44e/Home/vstup/pravila-zobrazenna-blok-shem https://lnvk24.wordpress.com/2017/02/03/урок-19-типи-алгоритмів/ http://distance.edu.vn.ua/metodic/pascal/5.htm

@Владислав Карпік: дякую, що вказали посилання на джерела інформації! думаю, що цю інформацію можна буде включити, але перед тим варто буде розібратись чи йдеться про "структуру" алгоритмів, про їхні "типи", чи про щось інше. Можливо вдасться знайти і авторитетніші джерела з цієї теми.--vityok (обговорення) 14:12, 15 листопада 2017 (UTC)[відповісти]