Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Повышение эффективности




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

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

Глава 8. Стиль и методы программирования 177


как время и пространство, чем во многих других языках программирования. Будет ли это вызывать сложности при практической реализации, зависит от самой задачи. Проблема, связанная с низкой эффективностью по времени, является практически несущественной, даже если программа Prolog требует 1 секунду процессорного вре­мени, а соответствующая программа на некотором другом языке, скажем Fortran, выполняется за 0,1 секунды, при условии, что эта программа применяется лишь не­сколько раз в сутки. Но такое различие в эффективности становится существенным, если две программы, соответственно, выполняются в течение 50 и 5 минут.

С другой стороны, во многих областях применения язык Prolog намного сокраща­ет время разработки программ. Программы Prolog, как правило, являются более легкими для написания, понимания и отладки по сравнению с программами, напи­санными на традиционных языках программирования. К проблемам, относящимся к области применения языка Prolog, относятся символическая, нечисловая обработка, структурированные объекты данных и отношения между ними. Б частности, язык Prolog успешно применялся в таких областях, как алгебраическое решение уравне­ний, планирование, использование баз данных, решение общих проблем, разработка прототипов, реализация языков программирования, дискретное и качественное моде­лирование, строительное проектирование, машинное обучение, понимание естествен­ного языка, экспертные системы и другие области искусственного интеллекта. Одна­ко числовые математические расчеты — это область, для которой Prolog подходит не столь естественно.

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

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

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

• Повышение эффективности поиска путем предотвращения ненужного перебора с возвратами и останова процесса обработки ненужных альтернатив на самых ранних этапах.

• Использование для представления объектов в программе более подходящих структур данных, для того, чтобы можно было реализовать операции над объ­ектами более эффективно,

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





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 334 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2268 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.