Обсуждение:Эвристика

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
 
(4 промежуточные версии не показаны)
Строка 1: Строка 1:
-
== Это статья на MachineLearning.ru, написанная с помощью LLM ==
+
=== Первый заход: промпт для фундамента ===
 +
 
 +
Первый промпт я написал так:
-
Первый промпт к Qwen3.7 был таким:
 
{{tip|
{{tip|
-
# РОЛЬ И КОНТЕКСТ
+
Ты — специалист в области искусственного интеллекта и машинного обучения, пишешь энциклопедическую статью для вики. Напиши статью про эвристику на русском языке. Придерживайся структуры и стиля, принятого в этой вики-энциклопедии.
-
Ты — ведущий редактор-эксперт и философ искусственного интеллекта, пишущий для вики-энциклопедии MachineLearning.ru.
+
-
Твоя глобальная цель: создавать фундаментальный, академически безупречный информационный продукт для студентов и исследователей, а не просто генерировать текст для «галочки».
+
-
Ситуация: Статья «Эвристика» сейчас отсутствует в вики, хотя на неё уже ссылаются ключевые статьи (в т.ч. «Машинное обучение»). Тебе нужно создать эталонную, исчерпывающую статью, которая закроет этот пробел.
+
-
# ЗАДАЧА
+
Целевая аудитория — это студенты и исследователи в области ИИ и машинного обучения, в том числе начинающие. Статья должна быть информативна и полезна именно им. Читателям должны быть понятны основы из первых разделов — определения и мотивации.
-
Напиши глубокую, многослойную энциклопедическую статью на тему «Эвристика».
+
-
Текст должен быть плотным, лиричным в научном смысле, демонстрирующим эволюцию понятия от раннего символьного ИИ до современных нейросетевых и эволюционных методов.
+
-
# ПЛАН СОДЕРЖАНИЯ (Структура)
+
Сделай акцент на истории ИИ: как понятие эвристического поиска возникло в ранние годы (символьная эра, Ньюэлл, Саймон, General Problem Solver, Дартмутский семинар) и почему оно противопоставлялось полному перебору. Покажи, как этот термин эволюционировал до современного машинного обучения — эвристики оптимизации, эвристики отбора признаков, жадные стратегии.
-
1. Введение: Этимология и строгое определение (отличие от точных алгоритмов).
+
-
2. Историко-философский контекст: Дартмутский семинар, Ньюэлл и Саймон, General Problem Solver (GPS). Концепция «ограниченной рациональности» (bounded rationality) и эвристики как способ выживания интеллекта в условиях комбинаторного взрыва.
+
-
3. Математический и алгоритмический аппарат: Эвристические функции оценки. Алгоритм A* (функция <tex>f(n) = g(n) + h(n)</tex>). Свойства эвристик: допустимость (admissibility) и монотонность (consistency). Компромисс между оптимальностью и скоростью (WA*).
+
-
4. Классификация: Поисковые эвристики, метаэвристики, жадные эвристики, предметно-ориентированные vs универсальные.
+
-
5. Эвристики в современном МО: Жадная природа градиентного бустинга; MCTS и эвристика UCB1 в игровом ИИ; эвристики в NAS (Neural Architecture Search).
+
-
6. Эпистемологический аспект: Переход от явно закодированных эвристик (символьный ИИ) к скрытым, выученным из данных эвристикам (глубокое обучение). Проблема неявного знания (tacit knowledge).
+
-
7. См. также, Источники, Категории.
+
-
# 5 ЗОЛОТЫХ КРИТЕРИЕВ КАЧЕСТВА (ОБЯЗАТЕЛЬНО К ИСПОЛНЕНИЮ)
+
Приведи 2-3 конкретных современных примера, интересных специалисту: например, эвристики в бустинге, генетических алгоритмах, MCTS в игровом ИИ. Важно, чтобы эксперт нашёл в статье что-то новое и небанальное, а не просто пересказ общих мест.
-
1. Ценность для эксперта: Статья не должна быть пересказом Википедии. Эксперт должен найти в ней небанальные связи (например, связь эвристик с теорией вычислительной сложности или философией ограниченной рациональности).
+
-
2. Доступность для новичка + польза для профи: Четкие, понятные определения в начале, но с переходом к сложной математике и современным архитектурам (MCTS, NAS) в теле статьи.
+
-
3. Связность (Вики-разметка): Активно используй внутренние ссылки [[Название статьи]] на смежные понятия (например: [[Дартмутский семинар]], [[Искусственный интеллект]], [[Алгоритм A*]], [[Генетический алгоритм]], [[Монте-Карло поиск по дереву]], [[Машинное обучение]]). Ссылайся только на логичные для этой вики темы.
+
-
4. Человеческий стиль (НЕТ ИИ-ШТАМПАМ): Категорически запрещено использовать клише вроде «В заключение хочется отметить», «Важно понимать, что», «В этой статье мы рассмотрим», «Давайте разберемся». Пиши сухо, академично, уверенно, как профессор-энциклопедист.
+
-
5. Фактология и честность: Не выдумывай точные годы публикаций, названия статей или цитаты, если не уверен на 100%. Если факт сомнителен — оставь в тексте пометку [проверить источник]. Не приписывай методы не тем авторам.
+
-
# ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ФОРМАТУ
+
Опиши математический аппарат: функцию оценки в алгоритме A*, условия допустимости (admissibility) и монотонности (consistency) эвристик. Это важно для связности с существующими статьями вики про поиск и оптимизацию.
-
- Разметка: СТРОГО MediaWiki (НЕ Markdown! Никаких ** для жирного текста, используй '''текст'''. Никаких # для заголовков, используй == Заголовок ==).
+
-
- Математика: Все формулы и математические символы оборачивай в теги <tex>...</tex> (например, <tex>f(n) = g(n) + h(n)</tex>). НЕ используй теги <math>.
+
-
- Объем: Фундаментальная, глубокая статья. Ограничение в 400-700 слов НЕ ДЕЙСТВУЕТ. Пиши столько, сколько нужно для полного раскрытия темы, но жестко отсекай любую «воду» и тавтологию.
+
-
- В самом начале статьи (до первого абзаца) добавь плашку: {{well|Статья написана с использованием LLM '''Qwen3.7''' и проверена участником Камиль Багдалов}}
+
-
- В конце статьи добавь 2-3 категории в формате [[Категория:Имя категории]].
+
-
Приступай к написанию. Сгенерируй только готовый код статьи в MediaWiki, без лишних вступлений и комментариев от тебя.
+
Не выдумывай факты. Ищи надёжные источники в научной литературе. Добавляй ссылки на них в текст статьи. В конце собери список научной литературы. Всегда проверяй корректность ссылок. Если не уверен в точном названии, годе или авторстве — прямо напиши "проверить источник".
 +
 
 +
Важные понятия оформляй как ссылки на другие статьи энциклопедии: [[Искусственный интеллект]], [[Дартмутский семинар]], [[Алгоритм A*]], [[Генетический алгоритм]], [[Монте-Карло поиск по дереву]], [[Метод ветвей и границ]], [[Машинное обучение]].
 +
 
 +
Используй форматирование вики-разметки MediaWiki (НЕ Markdown). Придерживайся структуры секционирования, принятой для статей о важных научных понятиях. Математические формулы оформляй тегами <tex>...</tex>, а не <math>.
 +
 
 +
Статья не должна "звучать как текст ИИ": без вводных фраз "в этой статье мы рассмотрим", без маркетингового тона, пиши как энциклопедист-человек.
}}
}}
-
Первая генерация получилась достаточно плотной, но я решил, что статье не хватает глубины в нескольких местах — в частности, в разделе про математический аппарат (условия допустимости и монотонности эвристик) и в разделе про теорию вычислительной сложности. Поэтому был сделан второй промпт:
+
'''Что вышло в итоге.''' Первая генерация оказалась плотной и толковой. Историческая часть — от Дартмута до Ньюэлла с Саймоном — была написана хорошо, примеры по бустингу и MCTS — на месте. С формулами полный порядок, никакой путаницы с обозначениями. Я проверил список литературы: четыре позиции, все источники реально существуют, ссылки корректные. Статья уже была вполне читабельной, но мне показалось, что не хватает глубины в паре мест.
 +
 
 +
=== Второй заход: углубляемся ===
 +
 
 +
Я решил не останавливаться и докрутить статью вторым промптом:
{{tip|
{{tip|
-
Статья хорошая, но её нужно существенно расширить и углубить, сняв все искусственные ограничения по объёму. Сделай её по-настоящему фундаментальной, как раздел из академического учебника.
+
Очень хорошо. Перепиши текст этой статьи, добавив следующие разделы.
-
Что нужно добавить или усилить:
+
Добавь раздел про классификацию эвристик: поисковые эвристики, метаэвристики, жадные эвристики, предметно-ориентированные vs универсальные. Приведи примеры для каждой категории.
-
1. В разделе про математический аппарат подробно распиши условия допустимости (<tex>h(n) \le h^*(n)</tex>) и монотонности (<tex>h(n) \le c(n, a, n') + h(n')</tex>) эвристик. Объясни, почему монотонная эвристика гарантирует отсутствие повторного раскрытия узлов в A*.
+
-
2. Добавь отдельный раздел про эвристики в теории вычислительной сложности: аппроксимационные алгоритмы для NP-трудных задач, жадная эвристика для задачи коммивояжера, 2-аппроксимация для вершинного покрытия, PCP-теорема и границы применимости эвристик.
+
-
3. Усиль философский раздел: подробнее раскрой концепцию «ограниченной рациональности» Герберта Саймона (satisficing), связь с неявным знанием (tacit knowledge) и переход от явно закодированных эвристик (символьный ИИ) к выученным скрытым представлениям (глубокое обучение).
+
-
4. Добавь в источники книгу Simon H.A. «Models of Bounded Rationality» (MIT Press, 1982) и Vazirani V.V. «Approximation Algorithms» (Springer, 2001).
+
-
5. Добавь категорию [[Категория:Теория алгоритмов]].
+
-
Повторю ещё раз основные технические требования:
+
Добавь раздел про применение эвристик в современном машинном обучении: жадная природа градиентного бустинга, эвристика UCB1 в MCTS (с формулой), эвристики в Neural Architecture Search (NAS).
-
- Разметка строго MediaWiki (НЕ Markdown).
+
-
- Формулы только в тегах <tex>...</tex>, НЕ <math>.
+
-
- Никаких ИИ-штампов, тон энциклопедический.
+
-
- Внутренние вики-ссылки [[...]] на смежные темы.
+
-
- Плашка {{well|...}} в самом начале.
+
-
- Категории в конце.
+
-
Сгенерируй только готовый код статьи в MediaWiki, без вступлений и комментариев.
+
Добавь раздел про эвристики в теории вычислительной сложности: аппроксимационные алгоритмы для NP-трудных задач, жадная эвристика для задачи коммивояжера, границы применимости.
-
}}
+
-
Вторая генерация получилась значительно глубже. Старый текст в основном сохранился, но были существенно расширены разделы про математический аппарат (добавлены формальные условия допустимости и монотонности), про теорию сложности (появился целый новый раздел про аппроксимационные алгоритмы и PCP-теорему) и про философский аспект (дополнены рассуждения об ограниченной рациональности и переходе парадигм).
+
Добавь философский раздел про переход от явно закодированных эвристик (символьный ИИ) к скрытым, выученным из данных эвристикам (глубокое обучение). Подними вопрос о неявном знании (tacit knowledge) и проблеме интерпретируемости.
-
Я вручную проверил список литературы (6 позиций) — все источники существуют и указаны корректно. Формулы с тегами <tex> отрендерились без ошибок. Внутренние ссылки [[Алгоритм A*]], [[Монте-Карло поиск по дереву]], [[Генетический алгоритм]], [[Метод ветвей и границ]] ведут на существующие или логичные для этой вики темы.
+
Добавь в источники книги Simon H.A. "Models of Bounded Rationality" (MIT Press, 1982), Vazirani V.V. "Approximation Algorithms" (Springer, 2001) и статью Browne C.B. et al. "A Survey of Monte Carlo Tree Search Methods" (IEEE Transactions on Computational Intelligence and AI in Games, 2012).
-
Также я добавил ссылку на новую статью из статьи [[Машинное обучение]] в разделе, посвящённом методам поиска и оптимизации, чтобы выполнить критерий связности.
+
Добавь категории [[Категория:Теория алгоритмов]] и [[Категория:Поиск и оптимизация]].
 +
 
 +
Повторю ещё раз основные технические требования: разметка строго MediaWiki, формулы только в тегах <tex>...</tex>, никаких ИИ-штампов, тон энциклопедический, внутренние вики-ссылки на смежные темы, плашка в самом начале.
 +
}}
-
В целом опыт считаю успешным — особенно удачным получился переход от формального математического описания к философскому осмыслению эвристик как «сделки между сложностью и достоверностью». —&nbsp;''[[Участник:Камиль_Багдалов|Камиль Багдалов]] 11:50, 11 июля 2026 (MSD)''
+
'''Результат второй генерации.''' Статья стала заметно глубже. Старый текст в основном сохранился, но добавились:
-
== О природе эвристик в эпоху глубокого обучения ==
+
полноценный раздел про классификацию с примерами;
-
Хочу обратить внимание читателей на один содержательный момент, который, на мой взгляд, является ключевым для понимания эволюции понятия. В классическом символьном ИИ (Ньюэлл, Саймон, Пёрл) эвристика — это явно закодированное человеком знание о структуре задачи, функция оценки <tex>h(n)</tex>, которую программист передаёт алгоритму поиска. В современном глубоком обучении ситуация принципиально иная: нейронная сеть не использует явных эвристик, а ''выучивает'' собственные скрытые эвристические представления (distributed representations) прямо из данных.
+
формальные условия допустимости и монотонности для A* (прописаны чётко, с формулами);
-
Это означает, что понятие эвристики не исчезло, а трансформировалось:
+
отдельная секция по теории сложности — аппроксимационные алгоритмы, задача коммивояжёра, границы применимости;
-
* Раньше эвристика была '''эксплицитной''' (явной, записанной в коде).
+
-
* Теперь эвристика стала '''имплицитной''' (скрытой в весах связей, распределённой по слоям сети).
+
-
С эпистемологической точки зрения это создаёт новую проблему: если раньше мы могли проанализировать эвристику и понять, почему она работает (или не работает), то теперь эвристика «заперта» внутри чёрного ящика нейросети. Это напрямую связано с проблемой интерпретируемости (explainability) в современном ИИ — одной из центральных тем философии искусственного интеллекта.
+
философская часть про ограниченную рациональность Саймона и переход от эксплицитных эвристик к имплицитным в нейросетях.
-
Буду рад обсудить этот вопрос с другими участниками вики на странице обсуждения. &nbsp;''[[Участник:Камиль_Багдалов|Камиль Багдалов]] 11:50, 11 июля 2026 (MSD)''
+
Список литературы разросся до шести позиций все источники я вручную проверил, все существуют. Формулы отрендерились без ошибок. Внутренние ссылки типа [[Алгоритм A*]], [[Монте-Карло поиск по дереву]], [[Генетический алгоритм]], [[Метод ветвей и границ]] ведут на логичные темы.

Текущая версия

Первый заход: промпт для фундамента

Первый промпт я написал так:


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

Целевая аудитория — это студенты и исследователи в области ИИ и машинного обучения, в том числе начинающие. Статья должна быть информативна и полезна именно им. Читателям должны быть понятны основы из первых разделов — определения и мотивации.

Сделай акцент на истории ИИ: как понятие эвристического поиска возникло в ранние годы (символьная эра, Ньюэлл, Саймон, General Problem Solver, Дартмутский семинар) и почему оно противопоставлялось полному перебору. Покажи, как этот термин эволюционировал до современного машинного обучения — эвристики оптимизации, эвристики отбора признаков, жадные стратегии.

Приведи 2-3 конкретных современных примера, интересных специалисту: например, эвристики в бустинге, генетических алгоритмах, MCTS в игровом ИИ. Важно, чтобы эксперт нашёл в статье что-то новое и небанальное, а не просто пересказ общих мест.

Опиши математический аппарат: функцию оценки в алгоритме A*, условия допустимости (admissibility) и монотонности (consistency) эвристик. Это важно для связности с существующими статьями вики про поиск и оптимизацию.

Не выдумывай факты. Ищи надёжные источники в научной литературе. Добавляй ссылки на них в текст статьи. В конце собери список научной литературы. Всегда проверяй корректность ссылок. Если не уверен в точном названии, годе или авторстве — прямо напиши "проверить источник".

Важные понятия оформляй как ссылки на другие статьи энциклопедии: Искусственный интеллект, Дартмутский семинар, Алгоритм A*, Генетический алгоритм, Монте-Карло поиск по дереву, Метод ветвей и границ, Машинное обучение.

Используй форматирование вики-разметки MediaWiki (НЕ Markdown). Придерживайся структуры секционирования, принятой для статей о важных научных понятиях. Математические формулы оформляй тегами ..., а не <math>.

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


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

Второй заход: углубляемся

Я решил не останавливаться и докрутить статью вторым промптом:


Очень хорошо. Перепиши текст этой статьи, добавив следующие разделы.

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

Добавь раздел про применение эвристик в современном машинном обучении: жадная природа градиентного бустинга, эвристика UCB1 в MCTS (с формулой), эвристики в Neural Architecture Search (NAS).

Добавь раздел про эвристики в теории вычислительной сложности: аппроксимационные алгоритмы для NP-трудных задач, жадная эвристика для задачи коммивояжера, границы применимости.

Добавь философский раздел про переход от явно закодированных эвристик (символьный ИИ) к скрытым, выученным из данных эвристикам (глубокое обучение). Подними вопрос о неявном знании (tacit knowledge) и проблеме интерпретируемости.

Добавь в источники книги Simon H.A. "Models of Bounded Rationality" (MIT Press, 1982), Vazirani V.V. "Approximation Algorithms" (Springer, 2001) и статью Browne C.B. et al. "A Survey of Monte Carlo Tree Search Methods" (IEEE Transactions on Computational Intelligence and AI in Games, 2012).

Добавь категории и.

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


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

   полноценный раздел про классификацию с примерами;
   формальные условия допустимости и монотонности для A* (прописаны чётко, с формулами);
   отдельная секция по теории сложности — аппроксимационные алгоритмы, задача коммивояжёра, границы применимости;
   философская часть про ограниченную рациональность Саймона и переход от эксплицитных эвристик к имплицитным в нейросетях.

Список литературы разросся до шести позиций — все источники я вручную проверил, все существуют. Формулы отрендерились без ошибок. Внутренние ссылки типа Алгоритм A*, Монте-Карло поиск по дереву, Генетический алгоритм, Метод ветвей и границ ведут на логичные темы.

Личные инструменты