Научная статья на тему 'Сложность и эластичность вычислений'

Сложность и эластичность вычислений Текст научной статьи по специальности «Математика»

CC BY
159
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ / АНАЛИЗ АЛГОРИТМОВ / COMPUTATION COMPLEXITY / ANALYSIS ALGORITHMS

Аннотация научной статьи по математике, автор научной работы — Быкова Валентина Владимировна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Complexity and elasticity of computations

We offer a new quantitative trait, which makes it possible to measure the computational complexity of algorithms, to compare and classify the algorithms in the complexity. This is elasticity of functions of complexity algorithms. We give a characterization for elasticity of modern classes of algorithms.

Текст научной работы на тему «Сложность и эластичность вычислений»

УДК 510.52+004.051 в. В. БЫКОВА

Сибирский федеральный университет,

г. Красноярск

СЛОЖНОСТЬ И ЭЛАСТИЧНОСТЬ ВЫЧИСЛЕНИЙ

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

1. Введение. Стремительное повышение производительности современных компьютеров не снимает проблемы разработки алгоритмов, позволяющих за разумное время решать практически значимые NP-трудные задачи большой размерности [1]. Поэтому по-прежнему актуальна задача разработки методов анализа алгоритмов.

В теории сложности вычислений анализ алгоритмов традиционно осуществляется с точки зрения вычислительной сложности — трудоемкости продуцируемых алгоритмами вычислительных процессов. При этом вычислительная сложность алгоритма формально описывается функцией t(n) (далее функцией сложности алгоритма), отражающей максимальное количество элементарных шагов, которое необходимо алгоритму для достижения запланированного результата в зависимости от п — длины входа алгоритма [ 1 ]. Обычно ограничиваются анализом поведения t(n) при л—>°°, а изложение результатов ведется в терминах О-болыпое и о-малое. Типичное разделение алгоритмов на классы сложности — это выделение низкозатратных (полиномиальных) и высокозатратных (экспоненциальных) алгоритмов. Алгоритм, для которого t(n) = 0(пс) или t(n) = о(пс), где с — неотрицательное действительное число, называют полиномиальным. Алгоритм считают экспоненциальным, если соответствующая ему функция t(n) растет быстрее любого алгебраического полинома. Сегодняшняя программная инженерии оперирует пятью сложностными классами алгоритмов. Выделены субполиномиальные (быстрые) алгоритмы из полиномиального класса, субэкспоненциальные и гиперэкспоненциальные алгоритмы из экспоненциального класса. Субполиномиальные и субэкспоненциальные алгоритмы — область повышенного интереса современной криптографии [2]. Использование непосредственного асимптотического оценивания для распознавания всех пяти сложностных классов алгоритмов сопряжено в большинстве случаев с трудностями вычислительного характера. Попытки введения классификационных признаков алгоритмов пока не привели к ощутимым результатам ввиду плохой интерпретируемости и вычислимости употребляемых признаков [3].

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

2. Соглашения относительно функций сложности. Формальный подход к анализу алгоритмов требует уточнения свойств рассматриваемых функций сложности t(n). Относительно функций t(n) сделано ряд естественных допущений, выполнимых для большинства реальных алгоритмов.

Во-первых, полагается, что t(ri) — монотонно неубывающие функции, областью значений которых выступает множество неотрицательных действительных чисел, а областью определения — множество неотрицательных целых чисел. Во-вторых, допускается отступление от дискретности изменения п (с формальной заменой л на х), т.е. считается, что аргумент х непрерывен, а необходимые значения функции t(n) вычисляются в целочисленных точках х = п. В-третьих, анализируемое множество функций ограничивается введенным Г. X. Харди семейством £— «по существу положительных», логарифмически-экспонен-циальных функций [4]. Функция f(x) считается «по существу положительной», если существует^ такое, что f(x) >0 для всех x>xQ.

Семейство £ определяется рекурсивно по правилам: постоянная f(x) = с лежит в £ для всех вещественных с; тождественная функция f(x) =х входит в £; разность f(x) — q(x) двух ^-функций есть ^-функция; если f(x) е £, то е /(х)е £\ если f(x) е£и «по существу положительна», то In f{x)e£. Каждая ^-функция непрерывна и дифференцируема в той области, где она определена. Кроме того, ^-функции образуют асимптотическую иерархию [4]: для любых f(x), q{x)e£npu х-^оо верно одно из трех соотношений:

f(x)<q(x), q(x)^f(x), f(x) = 0{q(x)}.

Используемая здесь и далее математическая символика трактуется так:

f(x) = Ö[q(x)] о lim ^ = с> 0, — д(х)

/(хНд(х)о f(x) = o[q(x)] о lim ^- = 0,

х-»» q(x)

где < — отношение Поль-Дюбуа Раймона, или = — логические связки, означающие эквивалентность высказываний («если и только если»), а — логическое следование («если, то»).

Установление границ рассматриваемого множества функций в виде семейства монотонно неубывающих, «по существу положительных» ^-функций га-

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

3. Шесть классов £-функций в современной классификации алгоритмов. Очевидно, что если функция /(х)е £, то она представима в виде /(х) = еЩх), где w(x)e£. Для такого представления верно:

еч(х)<еъ1х) ^ Ит[^х)-иг2(х)]=-оо,

X -> 00

Руководствуясь этими соотношениями, в асимптотической иерархии ^-функций можно выделить шесть классов функций, с принципиально различным порядком роста.

Асимптотические константы

Const = {/(х) | f(x) = O(l)}.

(1)

Это функции, значения которых на бесконечности ограничены сверху некоторой отличной от нуля константой.

Функции субполиномиального порядка роста

Subpoly = {/(х) |1 ^ f(x) < e0{lnx)}.

(2)

Такие функции не входят в класс Const и растут медленнее любого полинома.

Функции полиномиального порядка роста

Poly = {/(х) | f(x) = О [е°(1пх) ]}.

(3)

Это так называемые обобщенные полиномы f(x) = 0(eclnx)q(x), где с>0, g(x)e Const, Subpoly.

Функции субэкспоненциального порядка роста

Subexp = {/(х) |e°(lnx) f(x) < е°{х)}.

(4)

Подобные функции растут быстрее любого обобщенного полинома и медленнее всякой функции из класса Ехр.

Функции экспоненциального порядка роста

Ехр = {/(х) | /(х) = О [е°(х) ]}.

(5)

Это обобщенные экспоненты f(x) = 0{eXx)q(x), где Х>0, q(x)e Const, Subpoly, Poly, Subexp.

Функции гиперэкспоненциального порядка роста

Hyperexp = {/(х) | е°(х) /(х)}.

(6)

Следует отметить, что классификация алгоритмов на основе соотношений (1) — (6) не разрушает прежней, традиционной классификации с полиномиальными и экспоненциальными алгоритмами, а лишь дополняет и уточняет ее. В самом деле, классы быстрых и полиномиальных алгоритмов относятся к классу полиномиальных алгоритмов в классическом понимании. Их принято считать эффективными, практически значимыми. Классы субэкспоненциальных, экспоненциальных и гиперэкспоненциальных алгоритмов в классической систематизации составляют множество экспоненциальных алгоритмов.

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

у _ gXx^lnx)1-5 Д > 0, 0 < £ < 1,

(7)

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

Допустим, что в (1)-(6) функция /(х) отражает вычислительную сложность алгоритма и предварительно выполнен формальный переход от дискретного аргумента п к непрерывному аргументу х. Тогда соотношения (1) — (6) математически точно определяют пять сложностных классов алгоритмов, употребляемых в современной алгоритмической практике. Класс быстрых алгоритмов — это множество алгоритмов, для которых функции сложности f(x)e Subpoly*, где Subpoly* = Const u Subpoly. Для полиномиальных алгоритмов функции сложности принадлежат классу Poly. Функции сложности субэкспоненциальных алгоритмов образуют класс Subexp. Класс экспоненциальных алгоритмов — это алгоритмы, для которых функция сложности f{x)eExp. Для гиперэкспоненциальных алгоритмов характерны функции сложности из Hyperexp.

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

\пх^Хх^(\пху-1- -<х => е°(1пх)^/(хНе°(х).

Однако не всегда так просто удается определить сложностный класс алгоритма. Порой это требует математической изобретательности в проверке оценок из (1) — (6). Эту процедуру можно значительно облегчить, если использовать такую характеристику логарифмически-экспоненциальной функции /(х) как эластичность, сочетающую в себе основные свойства дифференцирования и логарифмирования.

4. Эластичность и ее свойства. Понятие эластичности было введено А. Маршаллом для экономического анализа производственных функций [5]. Производственной функцией называют аналитическое выражение, связывающее переменные величины затрат (ресурсов) с объемом выпуска продукции.

Идея использования эластичности в качестве показателя вычислительной сложности алгоритмов возникла из обнаруженной аналогии между производственными функциями и функциями сложности алгоритмов. Действительно, функция сложности указывает, как зависит количество необходимого для выполнения алгоритма вычислительного ресурса от объема (длины) исходных данных, т.е. описывает обратную зависимость, нежели производственная функция. Другими словами, если производственная функция — это связь «ресурсы—юбъем», то функция сложности алгоритма — «объем—»ресурсы».

Под эластичностью Ех(у) функции у=/(х) принято понимать предел отношения относительного приращения этой функции к относительному приращению аргумента [5]:

Ех(у)= liiri

Ay Ах х , (In у)'

— :- = -У = * In У) = т,—

У х J У (In х)'

(8)

Согласно (8), при х>0, у>0 знак эластичности совпадает со знаком производной у. Кроме того, при достаточно малых Ах справедливо приближение

Ау Ах

— КЕЛУ)—.

У х

которое означает, что эластичность Ех(у) — коэффициент пропорциональности между темпами роста величин у их.

Непосредственное применение (8) дает

Ех( 1пх) =-; Ех(хк) = к,к>0; Ех(еХх) = кхД>0.

1пх

Справедливы следующие свойства эластичностей.

1. Всякая постоянная имеет нулевую эластичность.

2. Эластичность — безразмерная величина:

Ех(у)=Еах(Ьу).

3. Эластичность обратной функции х = /_1(у) — обратная величина:

Еу(х) = \/Ех(у).

4. Эластичность произведения (отношения) функций и = и(х)имг= уг(х) равна сумме (разности) их эластичностей:

Ех{и.уг)=Ех{и) + ЕхМ, Ех(и/п)=ЕМ-ЕхМ.

5. Эластичность суммы функций и = и(х) и \лг = =и^(х) — сумма эластичностей слагаемых, взятых с соответствующими весами:

U W

Ех (u + w) =-Ех (и) + —-— Ex(w).

Ех(сук)=0[Ех(у)], с> 0, к >0.

u + w

11 +W

6. Эластичность показательно-степенной функции вида у =11™, где и = и(х) мг{х), задается соотношением:

Ех(у) = мг(ЕхМ\пи + Ех(и)).

7. Эластичность композиции функций у=/(^) и мг=1лг(х) равна

Ех(у) = Е„Щ-Ех{ш).

Данные свойства приводят к формулам эластичностей каскадов логарифмов и экспонент общего вида соответственно:

£х (In In... lnx) =

к раз

1

lnx -In lnx •... -In In...lnx

¿раз

, к>1,

Ех(еХх"м)=\х,'мш(х){Ех(ш)1пх + 1).

В частности, эластичность функций вида (7), описывающих сложность многих распространенных теоретико-числовых алгоритмов [3], равна

5 +

Izl

lnx

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Последняя оценка означает, что при х—><*> поведение эластичности инвариантно относительно полиномиального преобразования, заключающегося в умножении этой функции на константу и возведению в положительную и отделенную от нуля степень. Доказательство утверждения 1 основано на свойствах 1 — 7 эластичности и правилах построения ^-функций. Исходя из известной в математическом анализе леммы о логарифмическом пределе [5], справедливо

Утверждение 2. Пусть f(x), q(x)e£, 1 /f(x) = =о(1), l/g(x) = o(l). Тогдаесли Ex(f)<Ex(q), то f(x)<q(x).

Данное утверждение свидетельствует о том, что иерархия эластичностей порождает идентичную иерархию ^-функций. Однако обратное не всегда верно: еели f(x)<q(х),то Ex{f)<Ex(q) илиEx(f) = 0[Ex(q)].

5. Характеризация эластичностей различных классов ^-функций. Эластичность — локальная характеристика функции: ее значения в общем случае изменяются при переходе от одного значения аргумента к другому. Однако, как видно из утверждений 1 и 2, при х—эластичностям ^-функций присущи определенные закономерности. С позиций теории сложности вычислений чрезвычайно важно, что различным классам ^-функций характерно принципиально различное асимптотическое поведение эластичности и, наоборот, по асимптотике поведения эластичности ^-функции можно однозначным образом определить класс, к которому относится эта функция. Это подтверждают следующие леммы.

Лемма 1. Если /(х)е Const, mo Ex(f) = 0 или

Ex{f] = °( 1).

Л е м м а 2. Функция f(x) ePoly<^Ex(f) = 0( 1).

Лемма 3. Если функция f(x)e Subpoly, mo Ex(f)=:o( 1). Если Ex(f) = o(\), mo f(x)eSubpoly или f(x)e Const.

A e м м a 4. Функция f(x)eExp >Ex(f) = 0{x).

Аемма5. Функцияf(x)eSubexp<=>\<Ex(f)<x.

A e м м a 6. Функция f(x)e Hyperexp<=$x<Ex(f).

Проверка правильности лемм 1 — б базируется на свойствах эластичности и утверждениях 1, 2. Проиллюстрируем это на леммах 1,3.

Доказательство леммы 1. Пусть y=f(x) — тождественная постоянная. Тогда в силу свойства 1 эластичности (эластичность константы) Е (f) = 0. Предположим теперь, что у=0{ 1). Исходя из утверждения 1 ,Ех(у) = о(у/lnx) = (у/lnx)о(1). Следовательно, при х—>°о имеем требуемую оценку

Ех[0(\)] = -i-o(l) = о(1). lnx

(9)

= 0[х^(1пх)14] = о(х), X > 0, 0 < § < 1.

Следующие утверждения отражают дополнительные особенности эластичностей рассматриваемого семейства ^-функций.

Утверждение 1 .При х->°о эластичность £-функции — тождественно постоянная, или бесконечно малая, или бесконечно большая логарифми-чески-экспоненциальная функция. Для монотонно неубывающей £-функции у=/(*)>0 на (0, «>) всегда существует эластичность и

Доказательство леммы 3. Пусть /(х)еБиЬ-ро1у, т.е. 1</(х)<е0(1пх). Это значит, что при х->оо функция /(х) — бесконечно большая величина и ее можно представить в виде

f(x) = 0[е

0(1пх)/у(хЬ _ Qp(\x\x)/у(х)

°о(1),

1/у(х) = о(1), у(х) = о(1пх),

(Ю)

где у (х) 6 £. Отметим, что в представлении (10) условие у(х) = о(1пх) нужно, чтобы исключить случай /(х) = =0(1), т.к. 1</(х). По утверждению 1 для у(х)е£ верна оценка

Ех(у)> О, Бх(у) = о|^-|,

№х)Ех{у) УМ

= 0(1).

(11)

Применение к (10) свойств эластичности, оценок (9), (11) приводит к пределу

lim Ех (/) = lim Ех [е0(1пх)/у(х)0(1) ] =

Х-»ао Х->оо

- limEx[e°(lnx)/Y(x)] + lim Ех[0{ 1)] = = lim Ех[е°{]пх)/у(х)] + о( 1) =

X ->Х

= lim Ofln х) / у (х)Ех [0(1п х) / у(х) ] =

X ->сс

= limfln x)O(l)/у(х)(Ех [0(1п х) ] - Ех (у)) =

Х->ао

= lim(lnx)/y(x)i—i— + -1-о(1) - Ех (у)1 = vlnx lnx J

= lim(l/y(x) (1 + o(l))- lim 'lnx)£*M = o.

X—>X x-»oc y(x)

Следовательно, Ex(f) = о (1).

Докажем обратное. Пусть Ex(f] = о(1). Учитывая, что

lim Ех [е°(1пх) ] = lim Oflnх)Ех [Oflnх) ] =

= lim(lnx)0(l)i—+ —i—о(1)1 = O(l), х->оо Vlnx lnx J

имеем оценку Ex(f) = о[Ех(е °{1пх)) ], т.е. Ex(f)<Ех(е 0(1пх)). Отсюда по утверждению 2 получаем /(х)<е°(1пх). Согласно (1), (2), такие функции принадлежат Const или Subpoly. Лемма 3 доказана.

Результаты лемм 1—6 можно объединить в следующую теорему.

Теорема (о классификации ^-функций). Разбиение семейства монотонно неубывающих, «по существу положительных» £-функций на классы Subpoly* = Const И Subpoly, Poly, Subexp, Exp, Hyperexp в соответствии с порядком их роста эквивалентно надлежащему разбиению по асимптотике эластичности этих функций на бесконечности:

Subpoly * = {/(х) |/(х) ^ е°(1пх)} ^ {/(х) | Ех (/) = о(1)}; (12)

Poly = {/(х) |/(х) = 0[е0(1пх)]} = {/(х) | Ex(f) = 0(1)}; (13)

Subexp= {f(x) |e°(lnx) x f(x) e°(x]} s

= {f{x)\l<Ex{f)<xh (14)

Exp = {f(x)\f(x) = 0[e0(x)]}-{/(x)|Ex(/)-O(x)}; (15)

Hyperexp = {f(x)\e°[x]< f(x)} ^ {f(x)\x ^ Ex(f)}. (16)

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

Следствие 1. Разбиение £-функций на классы Subpoly*, Poly, Subexp, Ехр, Hyperexp инвариантно относительно полиномиального преобразования, т.е. если f(x)eF, Fe {Subpoly*, Poly, Subexp, Exp, Hyperexp}, то также p (f(x)) e F, где p (x) e Poly.

Следствие 2. Класс Subpoly* замкнут относительно суперпозиции (композиции) £-функций, т.е. если /(х), q(x)eSubpoly*, то q(f(x))e Subpoly*.

Следствие 3. Класс Poly замкнут относительно суперпозиции £-функций, т.е. если f(x), q(x)e Poly, то q(f(x))e Poly.

Следствие^ Класс Hyperexp замкнут относительно суперпозиции £-функций, т.е. если f(x), q(x)e Hyperexp, то q(f(x))e Hyperexp.

Композиция ^-функций из классов Subexp, Ехр может изменить их принадлежность к этим классам.

6. Классификация алгоритмов по асимптотике эластичности функций сложности. Теорема о классификации ^-функций позволяет систематизировать алгоритмы по асимптотическому поведению эластичности функций сложности.

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

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

Эластичность Ex(f) субэкспоненциального алгоритма — бесконечно большая величина, порядок роста которой характеризуется отношениями 1 <Ex(f)<x, т.е. темп роста времени выполнения субэкспоненциального алгоритма значительно выше темпа роста размерности задачи.

Для экспоненциальных алгоритмов эластичность Ex(f) = О(х) — бесконечно большая величина, асимптотически пропорциональная линейной функции. Функции с подобной эластичностью описывают законы естественного роста: f\x)/f(x) ~Ex(f] /х— O(l), т.е. скорость увеличения такой функции прямо пропорциональна ей самой.

Для гиперэкспоненциальных алгоритмов x<Ex(f). Темп роста времени их работы настолько высокий, что не укладывается в естественные законы природы.

7. Методика сравнения алгоритмов. Для распознавания класса, к которому принадлежит алгоритм с функцией сложности f(x)e£, следует выполнить действия: вычислить Ex(f) и найти асимптотическую оценку для Ex(f) прих-*°°; определить класс функций, используя эквивалентности (12) — (1 б).

Пусть требуется сравнить алгоритмы а, и а2, вычислительная сложность которых описывается функциями /j(x) и /2(х) соответственно. Для этого вначале надлежит установить класс сложности для ах и а2. Если данные алгоритмы принадлежат разным классам сложности, то иерархия этих классов задает соответствующее отношение между а, и а2 в смысле их быстродействия. Если оказалось, что алгоритмы а, и а2 принадлежат одному классу, то многое зависит от самого этого класса: если fx(x), f2(x)eSubpoly*, Subexp, Hyperexp, то при Ех(^)<Ех(^) всегда /1(х)</2(х), т.е. алгоритм at асимптотически быстрее алгоритма а2; если /j (х), f2(x)ePoly, Ехр, то Ех(^) = 0[Ex(f2) ] или то же самое Ех(/,)~с£х(/2)г с>0. При большой длине входа и 0<с< 1 время выполнения алгоритма а1 меньше времени работы алгоритма а2 приблизительно в 1/с раз. При с> 1, наоборот, алгоритм а, работает медленнее алгоритма а2 примерно в с раз. При с= 1 требуется исследование в Ех(^), Ex(f2) членов более низкого порядка, нежели константа.

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

мых требований, таких как сопоставимость, интерпретируемость и вычислимость [1]. Сопоставимость обеспечивают следующие положения: безразмер-ностьпоказателя (свойство 1 эластичности); инвариантность относительно модели вычислений (утверждение 1, следствие 1), ведь переход от одной модели вычислений к другой меняет вычислительную сложность алгоритма лишь полиномиальным образом. Это вполне отвечает традиции измерять вычислительную сложность алгоритма с точностью до 0( 1) и сопоставлять алгоритмы с точностью до полинома [ 1 — 3]. Эластичность имеет отчетливую интерпретацию: если Дх) — функция вычислительной сложности алгоритма, то это означает, что при повышении значения х (размерности задачи) на один процент значение f (время выполнения алгоритма) увеличивается приблизительно на £х(/) процентов. Свойства эластичности позволяют без особого труда вычислять ее для большинства функций и определять сложностный класс исследуемого алгоритма.

Представленные в работе результаты (формальное выделение классов ^-функций, утверждения 1 и 2, леммы 1 — б, теорема о классификации ^-функций, следствия 1 — 4) дают простой и удобный инструмент анализа алгоритмов для специалистов в области теоретической информатики и программной инженерии.

Библиографический список

1. Юдин, Д. Б. Математики измеряют сложность / Д. Б. Юдин, А. Д. Юдин. — М. : Книжный дом «Либроком», 2009. — 192 с.

2. Василенко, О. Н. Теоретико-числовые алгоритмы в криптографии / О. Н. Василенко. - М.: МЦНМО, 2006. - 336 с.

3. Головешкин, В. А. Метод классификации вычислительных алгоритмов по сложности на основе угловой меры асимптотического роста функций / В. А. Головешкин, М. В. Ульянов // Вычислительные технологии. — 2006. — Т. 11. — № 1. — С. 52-62.

4. Грэхем, Р. Конкретная математика / Р. Грэхем, Д. Кнут, О. Поташник. — М.: Мир; Бином. Лаборатория знаний, 2006. — 703 с.

5. Замков, О. О. Математические методы в экономике / О. О. Замков, А. В. Толстопятенко, Ю. Н. Черемных - М.: Издательство «Дело и Сервис», 2009. — 384 с.

БЫКОВА Валентина Владимировна, кандидат технических наук, доцент (Россия), профессор кафедры вычислительных и информационных технологий Института математики Сибирского федерального университета.

Адрес для переписки: e-mail: bykvalen@mail.ru

Статья поступила в редакцию 20.09.2010 г. © В. В. Быкова

УДК 621.43.51 7 ю. П. МЛКУШЕВ

Т. Л. ПОЛЯКОВА Л. Ю. МИХАЙЛОВА

Сибирская государственная автомобильно-дорожная академия,

г. Омск

Омский государственный университет путей сообщения

РАСЧЕТ И АНАЛИЗ ИНДИКАТОРНОЙ ДИАГРАММЫ ДВИГАТЕЛЯ С ИСПОЛЬЗОВАНИЕМ МАТЕМАТИЧЕСКИХ МЕТОДОВ_

Рассмотрена методика построения индикаторной диаграммы двигателя с использованием «текущей» величины сжатия и расширения, найдена индикаторная работа двигателя посредством интегрирования. Дан пример построения индикаторной диаграммы и ее анализ, предложена конструкция датчика для определения давления в цилиндре двигателя.

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

Индикаторная диаграмма позволяет определить изменение давления в цилиндре двигателя в зависимости от положения поршня [ 1 ]. Строится по данным теплового расчета, позволяет определить среднее давление, работу, мощность. По максимальному давле-

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

При построении индикаторной диаграммы её масштаб выбирают таким образом, чтобы высота была в 1,2-И,5 раза больше её основания. Объем цилиндра

i Надоели баннеры? Вы всегда можете отключить рекламу.