Каковы возможности компьютера как исполнителя алгоритмов

Обновлено: 21.11.2024

Глава 8 Контрольный вопрос Решения 1. ВЕРНО или НЕВЕРНО? Алгоритм — это пошаговая последовательность инструкций по выполнению непонятных вещей. Сделайте 2 N проверок, где N — количество записей на странице Newton.html. Сколько уточнений делает алгоритм Ньютона N / ) / 2 = ( + ) / 2 = .

<р>2. Правда или ложь? Последовательность инструкций по сборке книжного шкафа не

квалифицировать как "алгоритм", так как инструкции не написаны в формальном, математическом стиле

<р>3. Правда или ложь? Для точной, ясно поставленной задачи может быть только один алгоритм

это решает эту проблему.

<р>4. Правда или ложь? Нотация Big-Oh используется для измерения точного количества секунд

требуется определенным алгоритмом при выполнении на конкретном компьютере.

<р>5. Правда или ложь? Предположим, вам дан отсортированный список из 100 имен, и вам нужно

найти конкретное имя в этом списке. Используя последовательный поиск, вы можете

необходимо просмотреть каждое местоположение в списке, прежде чем найти нужное имя.

<р>6. Правда или ложь? Предположим, вам дан отсортированный список из 100 имен, и вам нужно

найти конкретное имя в этом списке. При использовании бинарного поиска у вас может быть

чтобы просмотреть каждое местоположение в списке, прежде чем найти нужное имя.

<р>7. Правда или ложь? Двоичный поиск является примером алгоритма O(log N), где

количество элементов в списке для поиска равно N.

<р>8. Правда или ложь? Одним из преимуществ языков ассемблера перед машинными языками является то, что

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

<р>9. Правда или ложь? JavaScript, C++ и Java — все это примеры высокоуровневых методов.

<р>10. Правда или ложь? Когда веб-страница загружается в веб-браузер, код JavaScript в

эта страница выполняется интерпретатором JavaScript, встроенным в браузер.

<р>11. Алгоритм должен быть понятен предполагаемому исполнителю, чтобы быть эффективным. Дать

пример реального алгоритма, с которым вы столкнулись и который вы считаете

вы считаете, что автор алгоритма плохо поработал, или вы думаете, что алгоритм был неудачным

оформлены для другой аудитории? Поясните свой ответ. Затем дайте

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

алгоритм позволит вам легче его понять?

Ответы учащихся могут быть разными.

<р>12. Напишите алгоритм направления человека в ваш дом, квартиру или общежитие из интернета

центральное расположение. Например, если вы живете на территории кампуса, маршруты могут начинаться с

ориентир кампуса. Предположим, что человек, следующий указаниям, знаком с

район или кампус.

Ответы учащихся могут быть разными.

<р>13. Напишите альтернативный алгоритм направления человека к вам домой, но на этот раз

предположим, что человек не знаком с местностью. Как это условие влияет на

как вы описываете алгоритм?

Ответы учащихся могут быть разными.

<р>14. Предположим, вас попросили расположить группу людей в порядке от самого старшего до

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

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

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

книга для повторного поиска самого старого человека. То есть найти самого старого человека с помощью

алгоритм и поместите этого человека в начало строки. Затем повторите процесс на

оставшиеся люди, размещение следующего по старшинству второго в очереди и так далее, пока все люди не выполнят

<р>15. Предположим, вам дан алгоритм O(N), усредняющий оценки учащихся, где

N — количество оценок. Если для получения в среднем 100 оценок с помощью алгоритма требуется 1 минута,

сколько времени, по вашему мнению, потребуется для получения в среднем 200 оценок? 400 баллов? Обоснуйте

Поскольку алгоритм использует O(N), удвоение размера задачи должно примерно удвоить

время, необходимое для решения. Таким образом, для 200 оценок потребуется примерно 2 минуты, а для 400 

оценки потребуются примерно 4 минуты.

<р>16. Предположим, вам нужно найти номер в местной телефонной книге. Примерно, что такое

население вашего города? Сколько проверок потребуется в худшем случае, чтобы найти

номер телефона с помощью последовательного поиска? Сколько проверок потребуется, в

в худшем случае найти номер телефона с помощью бинарного поиска?

Ответы учащихся будут зависеть от местного населения. Для последовательного поиска: В лучшем

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

в этом случае имя будет последним в книге, что потребует проверки всех записей. Для

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

требуется только 1 проверка. Есть много наихудших позиций, в том числе первая и

последние позиции в книге, требующие регистрации

<р>17. Рассмотрим список состояний на рис. 8.5. Какое состояние в списке «наиболее легко» найти

используете бинарный поиск? То есть, какое состояние может быть расположено в наименьшем количестве

чеки? Обобщите свой ответ, чтобы он применялся к любому отсортированному списку элементов.

Легче всего найти штат Миссури, так как он находится в середине списка

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

<р>18. Снова рассмотрим список состояний на рис. 8.5. Какой штат в списке является «самым сложным»

найти с помощью бинарного поиска? То есть для какого состояния потребуется наибольшее количество

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

Одним из самых сложных состояний будет "WY", которое появляется в конце списка. Поскольку

поиск всегда проверяет середину диапазона, конец будет достигнут только тогда, когда

диапазон уменьшается до размера 1.

<р>19. Обратитесь к

требуется вычислить квадратный корень из 900? 10 000? 152 399 025?

900 сходится к 300 за 10 уточнений.

10 000 сходится к 100 за 11 уточнений.

152 399 025 сходится к 12 345 в 18 уточнениях.

<р>20. Представьте, что пока вы используете алгоритм Ньютона, аппроксимации сходятся на

фактический квадратный корень числа. Что произойдет, если вы попытаетесь уточнить

квадратный корень? Изменится ли значение? Почему или почему бы и нет?

Попытка дальнейшего уточнения фактического квадратного корня не даст никаких изменений, поскольку

21. Недостатком машинных языков является то, что они зависят от машины. То есть каждый

машинный язык специфичен для конкретного компьютера, и для разных компьютеров требуется

различные машинные языки. Опишите, почему это так.

Инструкции машинного языка соответствуют низкоуровневым операциям, которые могут быть

выполняется аппаратным обеспечением машины. Поскольку на разных компьютерах разные

ЦП, конфигурации регистров и операции ALU, их машинные языки будут различаться.

22. Опишите два преимущества программирования на языке высокого уровня перед машинным языком

Языки высокого уровня позволяют программисту писать код на более высоком уровне абстракции,

сосредоточение внимания на конструкциях для решения проблем, таких как условные операторы и циклы, а не на низкоуровневых

детали машины. Кроме того, языки высокого уровня не зависят от лежащего в их основе

конфигурация оборудования компьютера, поэтому программы переносимы между компьютерами.

23. В чем разница между компилятором и интерпретатором? Какие характеристики

интерпретатор делает его более подходящим для выполнения программ JavaScript?

Компилятор – это программа, которая переводит всю программу на языке высокого уровня в ее формат

.

эквивалентные инструкции машинного языка. Напротив, переводчик переводит и

выполняет операторы программы на языке высокого уровня по одному оператору за раз.

Хотя это может замедлить выполнение программ, оно обеспечивает немедленное выполнение

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

Кингсли Уба

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

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

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

Что такое псевдокод?

Псевдокод буквально означает "фальшивый код". Это неформальный и надуманный способ написания программ, в котором вы представляете последовательность действий и инструкций (также называемых алгоритмами) в форме, понятной людям.

Видите ли, компьютеры и люди совершенно разные, и в этом проблема.

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

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

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

Преимущества написания псевдокода

Когда вы пишете код на языке программирования, вам приходится бороться со строгим синтаксисом и жесткими шаблонами кодирования. Но вы пишете псевдокод на языке или в форме, с которой хорошо знакомы.

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

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

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

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

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

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

Пример псевдокода

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

Когда пользователь заполняет форму и нажимает кнопку отправки, выполняется функция ValidateEmail. Что должна делать функция?

  1. Создайте регулярное выражение электронной почты (регулярное выражение), чтобы сравнить его с адресом электронной почты пользователя.
  2. Получите доступ к электронной почте пользователя из модели DOM и сохраните ее в переменной. Найдите и используйте правильный метод DOM для этой задачи.
  3. После того, как значение электронной почты получено и сохранено, создайте условный оператор:
  • Если формат электронной почты не соответствует правилу, заданному регулярным выражением, получите доступ к элементу с атрибутом id myAlert и передайте сообщение «Недействительный адрес электронной почты», чтобы пользователь мог его увидеть.
  • В противном случае, если приведенное выше условие не выполняется и формат адреса электронной почты действительно совпадает с регулярным выражением, проверьте, есть ли в базе данных такой адрес электронной почты. Если это уже так, получите доступ к элементу с атрибутом id myAlert и передайте «Электронная почта существует!» сообщение для просмотра пользователем.
  • Теперь, если оба эти условия не выполняются (то есть формат электронной почты соответствует регулярному выражению, а в базе данных еще нет такого адреса электронной почты), вставьте адрес электронной почты пользователя в базу данных и передайте «Успешный!» сообщение для просмотра пользователем.

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

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

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

Как решать проблемы программирования с помощью псевдокода

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

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

Шаг 1. Узнайте, что делает функция

Во-первых, вам нужно понять, что все, что делает функция, это (необязательно) принимает данные в качестве входных данных, обрабатывает данные понемногу и, наконец, возвращает выходные данные. Тело функции — это то, что на самом деле решает проблему, и делает это построчно.

Шаг 2. Убедитесь, что вы поняли вопрос

Далее вам нужно правильно прочитать и понять вопрос. Это, пожалуй, самый важный шаг в этом процессе.

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

Шаг 3. Разберитесь с проблемой.

Теперь вам нужно разбить проблему на более мелкие части и подзадачи. С каждой маленькой проблемой, которую вы решите, вы будете приближаться к решению основной проблемы.

Это помогает представить эти этапы решения проблем самым ясным и понятным способом — псевдокодом!

  • Начните решать: откройте и используйте такие инструменты, как Google, Stack Overflow, MDN и, конечно же, freeCodeCamp! :)
  • На каждом шаге решаемой проблемы проверяйте результат, чтобы убедиться, что вы на правильном пути. Продолжайте решать эти небольшие проблемы, пока не придете к окончательному решению.

Эту высокоэффективную формулу я позаимствовал у Аарона Джека и думаю, что она вам пригодится. Посмотрите его видео о том, как решать проблемы с кодированием:

Заключение

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

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

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

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

Спасибо за чтение и до скорой встречи.

P/S: Если вы изучаете JavaScript, я создал электронную книгу, в которой рассказывается о 50 темах по JavaScript с нарисованными от руки цифровыми заметками. Проверьте это здесь.

Гетти

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

Алгоритмы используются для расчетов, обработки данных и автоматизированных рассуждений». Осознаете вы это или нет, но алгоритмы становятся повсеместной частью нашей жизни. Некоторые эксперты видят в этой тенденции опасность. Например, Лео Хикман (@LeoHickman) пишет: «Откровения АНБ подчеркивают роль сложных алгоритмов в просеивании массивов данных. Но еще более удивительным является их широкое использование в нашей повседневной жизни. Так должны ли мы быть более осторожными с их силой?» [«Как алгоритмы правят миром», The Guardian, 1 июля 2013 г.] Было бы несколько преувеличением заявлять, что алгоритмы правят миром; но я согласен, что их использование становится все более распространенным. Это связано с тем, что компьютеры играют все более важную роль во многих аспектах нашей жизни. Мне нравится объяснение HowStuffWorks:

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

Единственный момент, в котором объяснение неверно, заключается в том, что вы должны шаг за шагом говорить компьютеру, «что именно вы хотите, чтобы он делал». Вместо того, чтобы следовать только явно запрограммированным инструкциям, некоторые компьютерные алгоритмы предназначены для того, чтобы позволить компьютерам учиться самостоятельно (т. Е. Упрощать машинное обучение). Использование машинного обучения включает интеллектуальный анализ данных и распознавание образов. Клинт Финли сообщает: «Сегодня в Интернете правят алгоритмы. Эти математические расчеты определяют, что вы видите в своей ленте Facebook, какие фильмы рекомендует вам Netflix и какую рекламу вы видите в своем Gmail». [«Хотите создать свой собственный Google? Посетите App Store, чтобы найти алгоритмы», Wired, 11 августа 2014 г.].

Как математические уравнения, алгоритмы не являются ни хорошими, ни плохими. Однако ясно, что алгоритмами пользовались люди как с хорошими, так и с плохими намерениями. Доктор Панос Парпас, преподаватель кафедры вычислительной техники Имперского колледжа Лондона, сказал Хикману: «[Алгоритмы] теперь интегрированы в нашу жизнь. С одной стороны, они хороши тем, что освобождают наше время и выполняют рутинные процессы за нас.Вопросы, которые поднимаются об алгоритмах в настоящее время, касаются не алгоритмов как таковых, а того, как общество структурировано в отношении использования данных и конфиденциальности данных. Это также о том, как модели используются для предсказания будущего. В настоящее время существует неловкое сочетание данных и алгоритмов. По мере развития технологий будут возникать ошибки, но важно помнить, что это всего лишь инструмент. Мы не должны винить наши инструменты».

В алгоритмах нет ничего нового. Как отмечалось выше, это просто математические инструкции. Их использование в компьютерах восходит к одному из гигантов вычислительной теории Алану Тьюрингу. Еще в 1952 году Тьюринг «опубликовал набор уравнений, которые пытались объяснить узоры, которые мы наблюдаем в природе, от пятнистых полосок, украшающих спину зебры, до мутовчатых листьев на стебле растения или даже сложного скручивания и складывания, которое превращает клубок клеток в организм». [«Мощные уравнения, объясняющие закономерности, которые мы наблюдаем в природе», Кэт Арни (@harpistkat), Gizmodo, 13 августа 2014 г.] Тьюринг прославился во время Второй мировой войны, потому что помог взломать «Энигму». код. К сожалению, Тьюринг покончил с собой через два года после публикации своей книги. К счастью, влияние Тьюринга на мир не закончилось его самоубийством. Арни сообщает, что ученые до сих пор используют его алгоритмы для обнаружения закономерностей в природе. Арни заключает:

«В последние годы жизни Алана Тьюринга он увидел, как его математическая мечта — программируемый электронный компьютер — воплотилась в жизнь из темпераментного набора проводов и трубок. Тогда он был способен обрабатывать несколько чисел со скоростью улитки. Сегодня смартфон в вашем кармане напичкан вычислительными технологиями, которые поразили бы его воображение. Потребовалась почти еще одна жизнь, чтобы воплотить его биологическое видение в научную реальность, но оказалось, что это больше, чем аккуратное объяснение и несколько причудливых уравнений».

Хотя алгоритмы Тьюринга оказались полезными для определения того, как закономерности возникают в природе, другие корреляции, генерируемые алгоритмами, вызывают больше подозрений. Дебора Гейдж (@deborahgage) напоминает нам: «Корреляция… отличается от причинно-следственной связи». ["Big Data Uncovers Some Weird Correlations", The Wall Street Journal, 23 марта 2014 г.] Она добавляет: «Благодаря потоку данных, которые сейчас доступны, поиск неожиданных корреляций никогда не был таким простым». Гейдж сообщает, что одна «компания обнаружила, что сделки, заключенные в новолуние, в среднем на 43% больше, чем в полнолуние». Были обнаружены и другие странные корреляции: «Люди чаще отвечают на звонки, когда идет снег, холодно или очень влажно; когда солнечно или менее влажно, они больше отвечают на электронную почту. Предварительный анализ показывает, что они также покупают больше, когда солнечно, хотя некоторые люди покупают больше, когда пасмурно. …Онлайн-кредитор ZestFinance Inc. обнаружил, что люди, которые заполняют свои заявки на кредит, используя все заглавные буквы, чаще не выполняют свои обязательства, чем люди, которые используют все строчные буквы, и еще чаще, чем люди, которые правильно используют прописные и строчные буквы». Гейдж продолжает:

«Влияют ли на сделки купли-продажи циклы луны? Можно ли определить кредитный риск по тому, как человек печатает? Быстрое новое программное обеспечение для обработки данных в сочетании с потоком общедоступных и частных данных позволяет компаниям проверять эти и другие, казалось бы, надуманные теории, задавая вопросы, которые раньше мало кто додумался задать. Объединяя человеческий и искусственный интеллект, они стремятся раскрыть умные идеи и сделать прогнозы, которые могут дать компаниям преимущество на все более конкурентном рынке».

Главный исполнительный директор ZestFinance Дуглас Меррилл сказал Гейджу: «Ученым, работающим с данными, необходимо проверить, имеют ли смысл их выводы. Машинное обучение не заменит людей». Часть проблемы заключается в том, что большинство систем машинного обучения не сочетают рассуждения с вычислениями. Они просто выплевывают корреляции независимо от того, имеют они смысл или нет. Гейдж сообщает: «ZestFinance отвергла еще один вывод своего программного обеспечения о том, что более высокие люди лучше выплачивают кредиты, — гипотезу, которую г-н Меррилл называет глупой». Добавляя рассуждения в системы машинного обучения, корреляции и идеи становятся гораздо более полезными. «Часть проблемы, — пишет Кэтрин Хаваси (@havasi), генеральный директор и соучредитель Luminoso, — заключается в том, что, когда мы, люди, общаемся, мы полагаемся на обширный фон невысказанных предположений. … Мы предполагаем, что все, кого мы встречаем, разделяют это знание. Он формирует основу нашего взаимодействия и позволяет нам общаться быстро, эффективно и с глубоким смыслом». [«Who’s Doing Common Sense Reasoning And Why It Matters», TechCrunch, 9 августа 2014 г.] Она добавляет: «Сколько бы технологии ни были развиты сегодня, их главный недостаток, поскольку они становятся значительной частью повседневной жизни в обществе заключается в том, что оно не разделяет этих предположений».

«Рассуждения на основе здравого смысла — это область искусственного интеллекта, целью которой является помочь компьютерам более естественно понимать людей и взаимодействовать с ними, находя способы собирать эти предположения и обучать им компьютеры. Рассуждение на основе здравого смысла было наиболее успешным в области обработки естественного языка (НЛП), хотя заметная работа была проделана и в других областях. Эта область машинного обучения со своим странным названием начинает потихоньку проникать в различные приложения, начиная от понимания текста и заканчивая обработкой и пониманием того, что изображено на фотографии. Без здравого смысла будет сложно создавать адаптируемые и неконтролируемые системы НЛП во все более цифровом и мобильном мире. … НЛП — это то место, где превосходят рассуждения здравого смысла, и технология начинает находить свое применение в коммерческих продуктах. Хотя впереди еще долгий путь, рассуждения на основе здравого смысла будут продолжать быстро развиваться в ближайшие годы, а технология достаточно стабильна, чтобы ее можно было использовать в бизнесе сегодня. Он обладает значительными преимуществами по сравнению с существующими системами онтологий и правил или системами, основанными просто на машинном обучении».

Алгоритмы могут сделать системы умнее, но без добавления здравого смысла в уравнение они все равно могут давать довольно странные результаты.

Стивен Ф. ДеАнджелис — президент и главный исполнительный директор компании Enterra Solutions, занимающейся когнитивными вычислениями.

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

Контексты в исходной публикации

<р>. кроме того, мы также можем заметить, что использование предложенной ожидаемой пропускной способности одновременно со стратегией планирования является эффективным. На (Рис. 6) мы варьировали производительность исполнителей в соответствии с их характерными возможностями и измеряли этапы обработки. .

<р>. все одинаковые» означает, что производительность исполнителя практически одинакова для всех. Из (рис. 6) можно сказать, что OXTHAS-1 не так сильно изменился по сравнению с циклическим или случайным алгоритм. .

Похожие публикации

Концепцию мобильного агента можно рассматривать как посредника между концепциями. Мы используем этот принцип для управления веб-службами во время выполнения. Набор сервисов размещается на отдельных компьютерах, и бизнес-процесс должен упорядочивать и координировать все сервисы. Мобильные агенты позволяют нам перемещаться по компьютерам для доступа к их локальным службам.

+3

Мы представляем новое программное расширение для программного обеспечения для интеллектуального анализа данных с открытым исходным кодом RapidMiner. Расширение позволяет аналитикам использовать язык Octave для создания новых операторов в процессах RapidMiner. Расширение использует настраиваемый пул интерпретаторов GNU Octave для обработки одновременного доступа. Он интегрируется в RapidAnalytics для планирования процессов.

+5

В этом документе сообщается об оценочной лаборатории PAN 2014, в которой выполняются три общие задачи по обнаружению плагиата, идентификации автора и профилированию автора. Чтобы улучшить воспроизводимость общих задач в целом и задач PAN в частности, группа Webis разработала новый веб-сервис под названием TIRA, который упрощает отправку программного обеспечения. В отличие от многих.

Цитаты

<р>. Многие исследователи, такие как (Soulier & Lewkowicz, 2004) и (Takamaya & al, 2007), сосредоточились на аспекте совместной работы в системах рабочих процессов. Что касается проблемы балансировки нагрузки в системах рабочих процессов, можно упомянуть (Jin & al, 2001), (Wang & Zhang, 2004) и (Katoh & al, 2004). Этих авторов интересовала проблема балансировки нагрузки в распределенных системах управления рабочими процессами, где несколько механизмов рабочих процессов должны взаимодействовать и совместно выполнять и контролировать действия процесса. .

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

<р>. Чтобы справиться с этой проблемой, мы предложили OXTHAS (планирование на основе наблюдаемой истории времени выполнения и размера активности), новую стратегию планирования для балансировки нагрузки в управлении рабочими процессами на основе веб-сервисов [4, 5]. В OXTHAS предполагаемая производительность обработки рассчитывается на основе истории предыдущего выполнения различных экземпляров активности с точки зрения размера нагрузки обработки и времени выполнения, наблюдаемых каждым механизмом рабочего процесса. .

<р>.В этом разделе мы кратко объясняем предложенную нами стратегию планирования OXTHAS. Пожалуйста, обратитесь к [4, 5] для получения подробной информации о стратегии планирования OXTHAS. .

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

Присоединяйтесь к ResearchGate, чтобы получить доступ к более чем 30 миллионам рисунков и более чем 135 миллионам публикаций в одном месте.

Читайте также: