Логическое программирование
: Информация
Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Курс предназначен для студентов, специализирующихся в области компьютерных наук, и знакомит их с парадигмой программирования, основанной на логике предикатов, которая отличается от наиболее широко распространенного в современном программировании императивного подхода.
Курс содержит достаточно подробное изложение теоретических основ логического подхода к программированию, а также служит практическим пособием по современным языкам логического программирования – Пролог и Mercury – которые могут использоваться и используются для разработки исследовательских и промышленных систем наряду с более традиционными императивными языками. Наличие систем программирования на этих языках для платформы Microsoft .NET позволяет эффективно применять полученные знания и навыки в промышленных разработках.В курсе также рассматривается использование логического программирования для создания интеллетуальных систем, излагаются основные понятия искусственного интеллекта, такие, как общение на естественном языке, представление знаний, методы эвристического поиска в пространстве состояний и т.д.
Цель: Цель курса – познакомить слушателя с новой парадигмой программирования и соответствующей алгоритмической моделью, дать практические навыки программирования на языках Пролог (P#) и Mercury для платформы Microsoft .NET, познакомить с основными методами решения задач искусственного интеллекта.
После изучения первой части курса слушатель должен:
<li>иметь понятие об императивной, логической и функциональной парадигмах программирования, называть различные языки программирования в этих классах
<li>понимать связь формальной математической теории логики предикатов первого порядка с программированием в терминах логики, иметь понятие об ограничениях логического программирования и алгоритмической неразрешимости ряда задач, об алгоритмах автоматического логического вывода на основе различных стратегий резолюции (SLD, SLDNF), о типизированном логическом программировании
<li>знать инструментальные средства логического программирования: языки Пролог и Mercury, и способы их совместного использования с другими программными средствами на платформе Microsoft .NET
<li>владеть основными приемами использования языков Пролог и Mecrury для решения типовых задач (различные алгоритмы поиска в пространстве состояний, упрощение и преобразование выражений, анализ текста на естественном языке и т.д.)<br>
Он должен уметь:
<li>использовать языки логического программирования для реализации известных алгоритмов информатики, включая реализацию типовых структур данных, поиск в графах и т.д.
<li>выделять характерные задачи для эффективного применения методов искуственного интеллекта и логического программирования в частности, предлагать способы их решения
<li>реализовывать на языке логического программирования (Пролог) различные способы представления знаний и использования этих представлений
<li>использовать подходы и языки логического программирования при построении программных систем, в том числе совместно с традиционными системами программирования.
Необходимые знания: Для успешного изучения курса желательно (но не обязательно) предварительное знакомство с некоторыми разделами дискретной математики (логика и исчисление высказываний и предикатов, теория решеток), а также с вычислительной платформой Microsoft .NET. Навыки программирования на императивных языках не обязательны, хотя местами в курсе проводятся сравнения логического подхода с более традиционным императивным программированием, которое в подавляющем большинстве учебных планов изучается на ранних этапах образовательного процесса.