"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Автоматический поиск решения помогает компьютеру выбирать подходящий проект из множества возможных вариантов. Сначала задают цель, параметры будущего объекта и ограничения, затем описывают правила проверки. Компьютер перебирает или иным способом исследует варианты, исключает недопустимые и сравнивает оставшиеся по критерию выбора. Полученный результат нужно проверить с учётом исходной задачи.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Проектирование — создание модели или плана будущего объекта с учётом поставленной цели и ограничений. Например, проектированием может быть подбор размеров упаковки. Это понятие нужно, чтобы заранее описать, каким должен стать результат.
Вариант решения — один из возможных способов или наборов параметров, которыми можно достичь цели проектирования. Для площадки таким вариантом будет пара «длина и ширина». Перечень вариантов нужен, чтобы было из чего выбирать.
Критерий выбора — условие или показатель, по которому сравнивают варианты и определяют, какой из них предпочтительнее. Это может быть стоимость, масса, время или расход материала. Критерий нужен, когда подходящих решений несколько.
Автоматический поиск решения — перебор или проверка возможных вариантов компьютером с отбором подходящих по заданным условиям. Программа выполняет одинаковые действия быстрее человека и не пропускает варианты при правильно заданном алгоритме. Так можно исследовать большое количество сочетаний параметров.
При проектировании сначала формулируют цель: что требуется создать или улучшить и каким требованиям должен отвечать результат. Без точной цели невозможно определить, какие данные считать успехом. Например, фраза «спроектировать упаковку» слишком общая, а цель «получить заданную вместимость при минимальном расходе материала» уже задаёт направление поиска.
Затем задают параметры объекта и ограничения. Параметры описывают изменяемые характеристики, например длину, ширину или стоимость, а ограничения определяют допустимые значения. Это нужно потому, что компьютер не может самостоятельно догадаться, какие размеры разрешены и какие условия обязательны.
Компьютер получает описание вариантов и правила их проверки. Для каждого набора параметров программа вычисляет нужные величины, проверяет ограничения и затем оценивает критерий. Такое описание превращает задачу проектирования в алгоритм, состоящий из повторяющихся действий и проверок условий.
Поиск может проверять варианты по очереди, пока не найдёт подходящий, или сравнить все варианты. Если требуется только любое допустимое решение, остановка после первой удачи экономит время, но лучший вариант так найти нельзя. При большом количестве сочетаний порядок проверок и раннее отбрасывание невозможных вариантов сокращают перебор.
Если подходящих вариантов несколько, критерий выбора помогает сравнить их. Например, сначала исключают все материалы, которые не выдерживают нагрузку, а затем среди оставшихся ищут самый дешёвый. Даже найденный компьютером вариант нужно проверить с точки зрения исходной задачи: программа могла получить неполные или неверно заданные условия.
| Элемент | Что задают | Зачем нужен |
|---|---|---|
| Цель проектирования | Что нужно создать или улучшить | Определяет требуемый результат |
| Параметры объекта | Изменяемые характеристики и их значения | Описывают возможные варианты |
| Ограничения | Разрешённые условия и границы | Отделяют допустимые варианты от недопустимых |
| Критерий выбора | Показатель предпочтительности | Позволяет сравнить подходящие варианты |
| Результат поиска | Найденный вариант или список вариантов | Даёт решение для проверки и использования |
Таблицу удобно читать сверху вниз: сначала выяснить цель, затем определить параметры и ограничения. После этого выбирают критерий и оценивают результат поиска. Если какой-либо элемент не задан, программа может найти формально подходящий, но practically бесполезный вариант.
Для прямоугольной площадки нужно выбрать длину и ширину из заданных целых значений так, чтобы площадь была не меньше 24 м². Требуется перечислить все подходящие пары. Здесь каждая пара чисел является вариантом решения, а условие S = a · b — ограничением.
Ответом будет список всех проверенных пар, у которых произведение длины и ширины не меньше 24. Например, если разрешены значения от 1 до 6, подойдут пары (4; 6), (5; 5), (5; 6) и (6; 4), (6; 5), (6; 6). Полный ответ зависит от набора значений, указанного в условии.
Из нескольких материалов нужно выбрать тот, который выдерживает заданную нагрузку и стоит дешевле остальных. Нельзя сразу выбирать самый дешёвый материал, потому что он может оказаться недостаточно прочным. Сначала проверяется ограничение по нагрузке, затем применяется критерий стоимости.
Ответом станет самый дешёвый материал среди выдерживающих заданную нагрузку. Если таких материалов несколько и их цены одинаковы, можно указать все или использовать дополнительное условие. Важно не смешивать проверку прочности с выбором по стоимости.
Нужно подобрать размеры прямоугольной упаковки из допустимых целых значений так, чтобы вместимость была не меньше заданной, а расход материала — минимальным. Здесь вместимость является ограничением, а расход материала — критерием выбора. Поэтому одного подходящего размера недостаточно, если существует более экономичный.
Ответом будет набор размеров с вместимостью не меньше заданной и минимальным расходом среди допустимых наборов. После выбора следует повторно подставить размеры в формулы и проверить оба условия. Так подтверждается, что программа не только нашла вариант, но и правильно оценила его.
Считать подходящим любой найденный вариант. Ошибка возникает, когда проверяют только одно условие и забывают остальные. Нужно составить список ограничений и поставить отметку напротив каждого после проверки.
Путать ограничение и критерий выбора. Ограничение отвечает на вопрос «можно ли принять вариант», а критерий — «какой из принятых лучше». Для самопроверки разделите условия на два списка: обязательные и сравнительные.
Перебирать только часть сочетаний параметров. Так можно пропустить решение или ошибочно решить, что лучшего варианта нет. Проверьте диапазоны значений и порядок перебора, чтобы каждый допустимый набор встретился ровно один раз.
Не сравнивать несколько подходящих решений по заданному критерию. Первый найденный вариант не обязательно самый дешёвый, лёгкий или быстрый. После отбора перечитайте условие и убедитесь, что выбран именно названный в нём критерий, а не случайное личное предпочтение.
До этой темы нужно уметь представлять задачу через исходные данные, параметры, условия и результат. Такое описание помогает отделить известное от того, что требуется найти. Без него алгоритм поиска будет неполным.
Автоматический поиск опирается на алгоритмы, ветвления, циклы и проверку условий. Цикл перебирает варианты, ветвление выбирает действие по результату проверки, а условие отделяет допустимые решения от остальных.
Метод применяется в компьютерном моделировании, оптимизации и разработке объектов с большим числом возможных вариантов. Компьютер может быстро оценивать конструкции, расписания, маршруты и другие проекты. Человек при этом задаёт цель, ограничения и смысл критериев.
Чем вариант решения отличается от критерия выбора?
Вариант решения — это конкретный способ создать объект или набор его параметров. Критерий выбора показывает, какой из допустимых вариантов лучше: например, дешевле, легче или требует меньше материала.
Зачем задавать ограничения, если компьютер всё равно проверяет варианты?
Ограничения заранее отсекают варианты, которые не могут быть решениями. Это уменьшает перебор и не позволяет компьютеру выбрать объект, нарушающий условия задачи.
Как понять, что найденный вариант действительно подходит?
Нужно проверить все ограничения и вычислить необходимые характеристики объекта. Затем следует убедиться, что результат соответствует цели и, если требуется, лучше других допустимых вариантов.
Почему перебор может занять много времени?
Чем больше параметров и их возможных значений, тем больше сочетаний приходится проверять. Время сокращают отбрасыванием невозможных вариантов и удачным порядком проверки условий.
Что делать, если условиям соответствуют несколько вариантов?
Нужно сравнить допустимые варианты по критерию, указанному в задаче. Если предпочтения нет, можно перечислить все подходящие решения или выбрать любое, если это разрешено условием.
§ 10. Автоматический поиск решения при проектировании