русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Восстановление рационального числа


Дата добавления: 2014-11-28; просмотров: 629; Нарушение авторских прав


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

Лемма

Пусть - строго выпуклая функция и , где при и , тогда .

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

Для симметричной строго выпуклой функции точка 0 всегда является точкой минимума. Действительно, для произвольной точки x имеем , , откуда выводим . Для выпуклых и симметричных функций справедлива

Теорема

Пусть , две точки с целочисленными компонентами удовлетворяющие условиям:

Треугольник с вершинами в точках 0, , не содержит точек с целочисленными координатами, отличных от его вершин

Выполняются неравенства , .

Тогда, для любой точки с целочисленными компонентами выполняется неравенство , если не лежит на прямой , или , если лежит на прямой , и .

Доказательство. Пусть произвольная точка с целочисленными координатами. Для определённости, пусть точка лежит в той же стороне по отношению к прямой , что и точка , или лежит на этой прямой (иначе вместо возьмем точку ). Тогда найдутся числа и , что . Величины и , суть целые числа. Действительно, в противном случае одна из точек , или , где - дробная часть , имеет целочисленные компоненты и принадлежит треугольнику с вершинами в точках 0, , , что противоречит условию 1. Если , то при из представления , согласно утверждению леммы выводим . Аналогично, при , выводим . Таким образом, в случае когда точка лежит на прямой , утверждение теоремы выполнено (если , то ).



Рассмотрим теперь случай .

Если , то . Согласно лемме выполняется неравенство . Отсюда и условий теоремы вытекает .

Если , то , и по лемме выполняется неравенство . Отсюда и условий теоремы выводим .

Если , то , и по лемме . Отсюда и условий теоремы вытекает . Теорема доказана.

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

Алгоритм A1.

1. Положим , .

2. Найдем целое t, при котором значение функции наименьшее. Положим .

3. Если , то поменяем точки и местами и вернемся на шаг 2. Иначе, конец, искомые точки построены.

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

Оценим трудоемкость алгоритма A1, в предположении, что искомые точки лежат в круге радиуса r с центром в начале координат. Обозначим через и точки и , получаемые на i-ой итерации после второго шага, через - значение параметра t на (i+1)-ой итерации. По определению выполняются неравенства (см. шаг 2). Если i-ая итерация алгоритма не является последней итерацией, то и (см. шаг 3). На втором шаге (i+1) итерации будет построена точка , причем если эта итерация не последняя, то значение функции в точке будет меньше чем значение в точке , а значит меньше чем значения функции в точках , и . Тем самым установлено неравенство , в предположении, что (i+1) итерация не последняя. Матрицу коэффициентов разложения векторов и по системам векторов , и , . обозначим через и , соответственно. Легко проверить равенства и . Поскольку , то все элементы матрицы имеют одинаковый знак, а значит, элементы матрицы так же имеют одинаковый знак. Обозначим через сумму элементов j-го столбца матрицы A. Если элементы матриц A и B имеют одинаковый знак (у каждой матрицы знак свой), то из правила умножения матриц вытекает неравенство . В частности справедливо неравенство , из которого, для вытекает . Рассмотрим случай . Во первых заметим что не возможны ситуации, когда , ( т.к. ), или , . Во вторых, если , , или , , то . Таким образом, в любом случае выполняется неравенство . Пусть k – номер последней итерации алгоритма. Элементы матрицы по абсолютной величине не превосходят 2r, так как искомые точки лежат в круге радиуса r с центром в начале координат. Но тогда справедливо неравенство , откуда .

Вернемся к задаче восстановления рационального числа , которая формулируется как задача минимизации , при ограничениях , , и - целые числа. Запишем сравнение в виде уравнения . Исключим a из поставленной задачи, и перейдем к задаче , при ограничениях, , и - целые числа. Для функции алгоритмом A1 найдем две точки и удовлетворяющие условиям теоремы. Если , то искомое рациональное число равно , иначе оно равно .

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



<== предыдущая лекция | следующая лекция ==>
Представление по остаткам. Аналог Китайской теоремы об остатках. | Прием «разделяй и властвуй


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.179 сек.