Задачи робототехники частично решаются с помощью нейронных сетей, однако некоторые с виду простые действия, например заправку кровати, запрограммировать сложно.
Понятия и результаты, полученные в теории графов, — мощный инструмент организации сложных систем. Представьте социальные графы в
Узлы, ребра, степени, веса, связи, циклы, пути, расстояния, подграфы, централизованность, аттракторы — эти и многие другие понятия теории графов сегодня используются при решении множества задач, связанных с сетями, начиная от схем метро и заканчивая грузоперевозками, от распознавания образов до формирования групп друзей, от составления маршрутов движения роботов до промышленного производства.
Даже сегодня некоторые возможности компьютеров кажутся будто сошедшими со страниц научно-фантастических романов. Но лучшее еще впереди, и к нему нужно быть готовым.
В 40-е годы XX века появилось так называемое линейное программирование — теория, сыгравшая ключевую роль в объединении науки управления и ставшая частью раздела «Исследование операций».
При решении задач планирования (при составлении расписаний, перевозке грузов, реализации проектов) и особенно задач производства на крупных предприятиях линейное программирование использует математические модели, которые помогают точнее определить цели, увеличить доход, снизить издержки и так далее.
Авиакомпания, которая определяет маршруты самолетов; организация, занимающаяся материально-техническим снабжением армии; международная корпорация, производящая прохладительные напитки; NASA, разрабатывающая космические программы; крупная телефонная компания, осуществляющая прокладку линий; телекоммуникационная компания, которой необходимо оптимальным образом расположить сетевое оборудование, — всем им требуется обработка огромных объемов данных, и все они имеют очень четкие цели.
Линейное программирование также связано со статистикой, теорией принятия решений и теорией игр.
Изначально линейное программирование не располагало мощными средствами вычислений, но со временем рост возможностей компьютеров способствовал бурному развитию этой дисциплины. Подсчитано, что современные организации тратят от 50 до 90 % вычислительных мощностей на решение задач линейного программирования. Среди тех, кто внес важный вклад в развитие линейного программирования, стоит выделить Джона фон Неймана, Леонида Канторовича, Тьяллинга Купманса, Джорджа Данцига, а также Нарендру Кармаркара — блестящего исследователя, работавшего в американской телефонной компании
Чтобы читатель понял смысл линейного программирования, рассмотрим небольшой пример, который отлично иллюстрирует задачи, решаемые в этой дисциплине.
Рассмотрим компанию, которая производит два типа напитков
* * *