'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №5 (62) том 3
  4. Научная статья № 91

Просмотры  31 просмотров

Акмырадова М.Б., Назарова С.Н.

  


ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В РЕШЕНИИ ПРАКТИЧЕСКИХ ЗАДАЧ *

  


Аннотация:
в данной статье рассматриваются особенности развития обучения программирования и их влияние на решение практических задач. Проведен перекрестный и сравнительный анализ влияния выбора направления развития программирование. Даны рекомендации по внедрению разработок в развитие обучения интеллектуальных процессов в программировании   

Ключевые слова:
анализ, метод, исследование, психология, программирование   


УДК 004.42

Акмырадова М.Б.

преподаватель кафедры «Прикладная математика и информатика»

Туркменский государственный университет имени Махтумкули

(Туркменистан, г. Ашгабад)

 

Назарова С.Н.

преподаватель кафедры «Прикладная математика и информатика»

Туркменский государственный университет имени Махтумкули

(Туркменистан, г. Ашгабад)

 

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

В РЕШЕНИИ ПРАКТИЧЕСКИХ ЗАДАЧ

 

Аннотация: в данной статье рассматриваются особенности развития обучения программирования и их влияние на решение практических задач. Проведен перекрестный и сравнительный анализ влияния выбора направления развития программирование. Даны рекомендации по внедрению разработок в развитие обучения интеллектуальных процессов в программировании.

 

Ключевые слова: анализ, метод, исследование, психология, программирование.

 

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

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

Давайте разберем этот подход на примере.

Рассмотрим пример ряда Фибоначчи. Следующий ряд является рядом Фибоначчи:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ,…

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

F(n) = F(n-1) + F(n-2),

С базовыми значениями F (0) = 0 и F (1) = 1. Чтобы вычислить другие числа, мы следуем приведенному выше соотношению. Например, F(2) — это сумма f(0) и f(1), равная 1.

Как мы можем вычислить F(20)?

Член F(20) будет рассчитываться с использованием n-й формулы ряда Фибоначчи. В подходе динамического программирования мы пытаемся разделить проблему на похожие подзадачи. Мы следуем этому подходу в приведенном выше случае, когда F (20) в аналогичные подзадачи, т. е. F (19) и F (18). Если мы повторим определение динамического программирования, то оно говорит, что подобная подзадача не должна вычисляться более одного раза. Тем не менее, в приведенном выше случае подзадача вычисляется дважды. В приведенном выше примере F(18) вычисляется два раза; аналогично F(17) также вычисляется дважды. Тем не менее, этот метод весьма полезен, поскольку он решает аналогичные подзадачи, но мы должны быть осторожны при сохранении результатов, потому что мы не особенно заботимся о сохранении результата, который мы вычислили один раз, тогда это может привести к пустой трате ресурсов.

В приведенном выше примере, если мы вычисляем F(18) в правом поддереве, это приводит к колоссальному использованию ресурсов и снижению общей производительности.

Решение вышеуказанной проблемы состоит в том, чтобы сохранить вычисленные результаты в массиве. Сначала мы вычисляем F(16) и F(17) и сохраняем их значения в массиве. F(18) вычисляется путем суммирования значений F(17) и F(16), которые уже сохранены в массиве. Вычисленное значение F(18) сохраняется в массиве. Значение F(19) вычисляется с использованием суммы F(18) и F(17), и их значения уже сохранены в массиве. Вычисленное значение F(19) сохраняется в массиве. Значение F(20) может быть вычислено путем сложения значений F(19) и F(18), а значения F(19) и F(18) хранятся в массиве. Окончательное вычисленное значение F(20) сохраняется в массиве.

Ниже приведены шаги, которым следует динамическое программирование:

 

Он разбивает сложную проблему на более простые подзадачи.

Он находит оптимальное решение этих подзадач.

В нем хранятся результаты подзадач (запоминание). Процесс сохранения результатов подзадач известен как запоминание.

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

Наконец, вычислите результат сложной задачи.

Вышеуказанные пять шагов являются основными шагами динамического программирования. Применяется динамическое программирование, обладающее такими свойствами, как:

Те проблемы, которые имеют перекрывающиеся подзадачи и оптимальные подструктуры. Здесь оптимальная подструктура означает, что решение задач оптимизации может быть получено путем простого объединения оптимального решения всех подзадач.

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

 

СПИСОК ЛИТЕРАТУРЫ:

 

  1. Бессмертный, И. А. Системы искусственного интеллекта : учеб. пособие для СПО / И. А. Бессмертный. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2018. — 130 с.
  2. Гниденко, И. Г. Технология разработки программного обеспечения : учеб. пособие для СПО / И. Г. Гниденко, Ф. Ф. Павлов, Д. Ю. Федоров. — М. : Издательство Юрайт, 2017. — 235 с.
  3. Гордеев, С. И. Организация баз данных в 2 ч. Часть 2 : учебник для вузов / С. И. Гордеев, В. Н. Волошина. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2019. — 501 с.
  4. Жмудь, В. А. Моделирование замкнутых систем автоматического управления : учеб. пособие для академического бакалавриата / В. А. Жмудь. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2019. — 128 с.
  


Полная версия статьи PDF

Номер журнала Вестник науки №5 (62) том 3

  


Ссылка для цитирования:

Акмырадова М.Б., Назарова С.Н. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В РЕШЕНИИ ПРАКТИЧЕСКИХ ЗАДАЧ // Вестник науки №5 (62) том 3. С. 579 - 583. 2023 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/8271 (дата обращения: 27.04.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/8271



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2023.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.