Студопедия — Логическое программирование.
Студопедия Главная Случайная страница Обратная связь

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

Логическое программирование.






Создание языка искусственного интеллекта Пролог (PROLOG, PROgramming in LOGic – программирование в терминах логики) в 1973 г. французским учёным Аланом Кольмероэ открыло новую область – логическое или реляционное программирование.

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

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

 

 

Поговорим о простых и сложных программах. Первые имеют ограниченную область применения, разработаны одним человеком. Они могут быть профессионально изготовлены, но так или иначе они обозримы, и их сложность не превышает интеллектуальные возможности человека. Но не все программы простые. Программы управления железнодорожными или воздушными сообщениями, системы управления базами данных, обеспечивающих параллельный доступ многих пользователей и т.д. – это другой класс программ по уровню сложности. Считается, что сложность программ отнюдь не случайное свойство, а скорее необходимое. Где пролегает граница между простыми и сложными? Обычно сложность программ определяется количеством операторов исходного текста программы. Это условная градация, простая количественная мера, которую можно принять в качестве первого приближения. Известны разработки программ с менее 10.000 операторами исходного текста, относящиеся по выполняемым функциям к сложным и даже сверхсложным.

Программа Количество операторов исходного текста (до)
Простая 1.000
Средней сложности 10.000
Сложная 100.000
Сверхсложная 1.000.000
Гиперсложная 10.000.000 и более

 

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

 

Этапы подготовки и решения задач на компьютере:

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

2) Формальное построение модели задачи – предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализируется характер и сущность величин, используемых в задаче.

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

4) Выбор и обоснование метода решения – модель решения задачи реализуется на основе конкретных приёмов и методов решения. В большинстве случаев математическое описание задачи трудно перевести на машинный язык. Выбор и использование метода решения позволяет свести решение задачи к конкретному набору машинных команд. При обосновании метода решения рассматриваются вопросы влияния различных факторов и условий на конечный результат, в том числе на точность вычислений, время решения задачи на компьютере, требуемый объём памяти и др.

5) Построение алгоритма – на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков.

6) Составление программы – алгоритм решения переводится на конкретный язык программирования

7) Отладка программы – процесс устранения синтаксических ошибок в программе. В процессе трансляции программы с помощью синтаксического и семантического контроля выявляются недопустимые конструкции и символы (или сочетания символов) для данного языка программирования. Компьютер выдаёт сообщение об ошибках в форме, соответствующей этому языку. Затем проверяется логика работы программы в процессе её выполнения с конкретными исходными данными. Для этого используются специальные методы. Например, в программе выбираются контрольные точки, для них подбираются тестирующие примеры и вручную находятся значения в этих точках, которые затем и сверяются со значениями, получаемыми компьютером на этапе отладки. Кроме того, используются отладчики, выполняющие специальные действия на этапе отладки, такие как удаление, замена или вставка отдельных операторов или целых фрагментов программы, вывод промежуточных результатов, изменение значений заданных переменных и др.

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

 

 







Дата добавления: 2015-09-19; просмотров: 474. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

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

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

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

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия