Помощь в написании студенческих работ
Антистрессовый сервис

Области применения языка LISP

Курсовая Купить готовую Узнать стоимостьмоей работы

Согласно информации на сайте NASA — национальное космическое агентство — использовало язык LISP для создания системы RemoteAgent. RemoteAgent представляет собой систему управления космическими аппаратами. Она включает в себя такие области как управления системами космического аппарата, системы защиты от сбоев, замыкании, восстановления от случившихся сбоев в системах аппарата. В первую очередь… Читать ещё >

Области применения языка LISP (реферат, курсовая, диплом, контрольная)

Содержание

  • Введение
  • 1. Особенности языка LISP
  • 2. Экспертные системы
  • 3. Логическое программирование, доказательство решения
  • 4. Веб технологии
  • 5. Программирование игр
  • 6. Моделирование систем
  • 7. Обработка сигналов и распознавание образов
  • 8. Точное машиностроение, робототехника, проектирование систем
  • 9. Военная отрасль
  • 10. Банковская сфера
  • Заключение
  • Список Литературы

Изначально программный пакет был платным продуктом, и являлся конкурентным по отношению к таким пакетам как Mathematica, MathCAD, Maple. В отличие от аналогичных программных продуктов с 2008 года продукт является полностью бесплатным и существует уже как открытое программное обеспечение. Reduce — имеет большую популярность в научной среде из-за его поддержки на многих программных платформах, операционных системах таких как: Windows, Linux, MacOS, Ios, Android.

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

Обработка сигналов и распознавание образов.

В задачах классификации и распознавание сигналов LISP также является мощным средством исследования. Решение задачи распознавание звуков, изображения является одним из методов исследования искусственного интеллекта. Известно, что мозг человека, хорошо решает задачи распознавания образов и звуков. Согласно исследованиям человеку требуется доли секунды для определения человека на фотографии, определения знакомых из толпы людей. На сегодняшний день данные задачи активно решаются и с помощью LISP программ. Уже сегодня работают программы видеофиксации нарушений на дорогах. Задача видеофиксации нарушения представляет собой сначала селектирование нескольких целей и распознавание номера автомобиля совершившее нарушение. После определения номера в базе владельцев находится нарушитель и выписывается штраф. Согласно данным на сайте производителей данных специальных средств точность определения достигла уже более 96%, в качестве транзитного звена все равно используется человек так как в некоторых случаях номера автомобилей в связи с плохими погодными условиями или иными помехами могут определяться не верно.

На автоматизированных производствах в задачи распознавания входит распознавание сигналов от различных датчиков.

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

В качестве логического отступления можно сказать некоторых случаях развитие автоматического распознавания объектов несет и другие аспекты в нашу жизнь. Стоит вспомнить другие философские и юридические вопросы, которое рождает данное развитие. Одним из сторон нашей жизни в последние годы стал «Интернет». И много молодых людей активно использует «Интернет» не только как средство поиска информации, но и как средство обмена, накопления данных. Использование распознавания в социальных сетях несет под собой угрозу вмешательства в личную жизнь человека. Одним из таких проявлений, можно сказать нововведение которое было в Facebook которое позволяло найти человека на размещенных фотографиям без участия человека. Это имело неожиданный результат так как человека можно было найти уже не только на фотографиях на которых он размещен, но и на тех в которые он попал случайно, с фотографии каких-либо мероприятии и.т.д. Огромное количество веб-камер и функция распознавания людей позволяет очень быстро находить те места, которые посещал человек и.т.д.

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

Поэтому из вышесказанного можно сделать неоднозначный вывод алгоритмы распознавания образов несут не только и развитие в систему производства, но в тоже время создают, и новые проблемы и меняют модель поведения и самого человека. В свое время на данный вопрос пытался ответить и знаменитый фантаст Айзек Азимов в романе «Я робот». Айзек Азимов пытался ответить на вопрос, что отличает робота от человека. Также аналогично высказывание Сиднея Харриса который, также пытался ответить на данный вопрос, но несколько в другом ключе: Опасность не в том, что машина уподобляется человеку, а в том, что человек начинает, превращается в подобие машины.

Точное машиностроение, робототехника, проектирование систем.

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

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

Язык LISP и его подтипы широко используется в построение робототехники, интерпретаторы LISP используются во многих программах управления станками ЧПУ. В данной области можно отметить из теории распознавании сигналов в первую очередь применяется для получения информации от датчиков, и принятии решения на основании меняющейся среды. Под средой можно понимать перемещение по транспортной линии детали, заготовки и других объектов. Программы на языке LISP в данном случае используются для написания управляющей программы станка, механизма и других устройств задействованных в производстве. Но также известно доля станков с поддержкой LISP крайне низка, в силу сложности освоения языка. Из исследованных станков большинство поддерживают интерпретаторы, работающие с подмножествами языка Pascal. Но большинство разработчиков также делают поддержку нескольких типов скриптовых языков. Автоматические роботы, работающие с множествами деталей, или со сложными типами данных имеет реализации и LISP -подобных языках.

Военная отрасль.

В военной отрасли известно, что многие программы пишутся на специальных языках программирования таких как Ada которые, как известно, предназначенные для систем реального времени, и имеющие отказоустойчивые стандарты. Но данные программы могут использоваться для отдельных боевых модулей и элементов Агентство передовых оборонных исследовательских проектов (DARPA) использовала свою реализацию LISP для моделирования систем ведения и моделирования, боевых действии. В последнее время исследования в области искусственного интеллекта идет в направлении в создания беспилотных систем. На сегодняшний день имеются прототипы беспилотных автомобилей, самолетов и водного транспорта. Агентство передовых оборонных исследовательских проектов активно проводило конкурсы и среди гражданских исследовательских институтов, результатом которой было создание автономного беспилотного автомобиля, который бы мог передвигаться по городу или пересеченной местности с соблюдением правил дорожного движения, и соблюдая при этом безопасную манеру вождения. Для военных в первую очередь — это имело практический смысл в том плане, что автономные беспилотные автомобили могут заниматься снабжением, эвакуацией персонала в рискованных ситуациях. Поэтому использование LISP — программ очень востребовано в данной отрасли.

Согласно информации на сайте NASA — национальное космическое агентство — использовало язык LISP для создания системы RemoteAgent. RemoteAgent представляет собой систему управления космическими аппаратами. Она включает в себя такие области как управления системами космического аппарата, системы защиты от сбоев, замыкании, восстановления от случившихся сбоев в системах аппарата. В первую очередь -это имеет смысл в удешевлении последующих миссии, так как система восстановления позволяет устранять программные и технические сбои и тем самым дает возможность использовать меньшее число дублирующих систем и в тоже время позволяет следить за сохранностью аппарата в зависимости от меняющихся условии. Как показала практика RemoteAgent является действительно эффективным средством для создания успешной космической миссии. Данная программа устанавливалась непосредственно в бортовом компьютере космического аппарата, и управляет процессом работы всей системы. Согласно данными размещенными на сайте NASA во время миссии находились ошибки в программном коде, и они исправлялись удаленно, тем самым, позволяя исправлять ошибки системы не завершая и останавливая миссию.

Банковская сфера.

В 2007 году появилась на свет новый язык Clojure основанный на LISP. C lojure представляет собой язык который компилируется в байт-код java и .net, что позволяет ему быть кроссплатформенным. Кроссплатформенность предполагает под собой запуск программы под разными операционными системами без изменения исходного кода программы и перекомпиляции конечного программного продукта. На сегодняшний день программная виртуальная платформа java реализована на многих операционных системах таких как Windwos, Linux, MacOS, Android и других операционных системах. В языке Clojure реализована программная транзакционная память, которая сверяет корректность исполнения функции. Тем самым можно однозначно сказать отработала ли функция полностью, данная возможность необходима в таких системах, где проверяют атомарность всей функции при работе.

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

Также одной из известных систем является Avtorized Asistant — система используются American Express исследует кредитные запросы клиентов, в некотором своем роде является пополняемой экспертной системой, в качестве данных которых выступают кредитные запросы клиентов.

Заключение

.

В нашем исследовании мы рассмотрели разные отрасли, которых целесообразно использование языка программирования LISP и активно используется в данных отрослях. Из исследования видно что, язык программирования имеет разные диалекты. Хотя изначально создавался как язык обработки списков, данный язык может быть использован не только для обработки списков. Были попытки применения языка LISP для создания систем искусственного интеллекта. Хотя как в мысленном эксперименте с «Китайской комнате» мысленно было показано, что интеллект это не только манипуляции с символами, но данная парадигма дала возможность создавать разумные машины. Если обратить внимание на современные производства, которые состоят из множества промышленных роботов, станков с программным управлением, систем безопасности и множества других систем, то все они являются сферами применения диалектов языка LISP. В средствах проектирования программы на диалектах LISP, рассмотренных программах GIMP, AutoCad позволяет расширять функционал программы, без перекомпиляции всего программного продукта делая его гибким. В справочных системах, в экспертных системах также в силу гибкости работы с системой правил и представления знании в виде списка теорем и правил вывода, язык LISP является эффективным средством представления и обработки данных в виду развитых средств работы со списками. В общем можно сделать вывод LISP — является современным языком, который развивается и используется во многих сферах жизни.

Современные диалекты языка LISP можно рассматривать как мощные интерактивные системы программирования. Это объясняется двумя причинами. Во-первых, сам язык LISP претерпевает серьезные изменения — развиваются средства языка, предназначенные для обработки нетрадиционных для LISP типов данных: массивов, векторов, матриц; появляются некоторые средства управления памятью (пакеты), отсутствующие в LISP. Серьезные изменения претерпевают и управляющие структуры.

Развитие LISP — систем для ПЭВМ идет сегодня по трем различным направлениям. Первое связано с увеличением емкости памяти, которая может использоваться LISP — системой. С этой целью ряд компаний разработал версии языка Golden Common Lisp, использующие расширения оперативной памяти и виртуальную память. Второе направление связанно с повышением быстродействия LISP — систем. Третье направление состоит в разработке эффективных компиляторов программ с языка LISP в традиционные языки чаще всего в язык Си и Java, Delphi.

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

Можно предположить, что LISP еще значительное время будет оставаться основным языком для реализации интеллектуальных систем. Уже в ближайшее время можно ожидать появления языков, вобравших в себя лучшие черты LISP и др. языков программирования ИИ.

В тоже время можно сказать что LISP все меньше используется для прикладных задач так как на рынке LISP системы вытесняются различными видами СИ-подобных языков. Основным же направлением интерпретируемых языков программирование является на сегодняшний день вебпрограммирование, возможно в будущем такие реализации языка Clojure и Scheme в новом виде войдут в сферу веб — программирования хотя, данные языки позволяют уже сегодня создавать мощные веб-сайты. Также можно увидеть, что LISP системы изначально предназначались для кластеризации, хранения данных, то последствии LISP уже стал более универсальным языком который позволяет разрабатывать программное обеспечения для различных отраслей науки.

В тоже время уменьшение популярности языка LISP возможно связанно тем, что LISP развивается сообществом разработчиков создающий открытый код. И в силу недостатка финансирования, или в связи с тем, что сообщество разработчиков не заинтересовано в популяризации языка. К тому же в коммерческих языках таких как C#, С++ и Java на развитие языка выделяются не только большие ресурсы профессионалов, но и данные языки в первую очередь являются коммерческими продуктами. Поэтому сообщества данных языков состоят не только из программистов и архитекторов систем, но и различными ступенями отделов продаж, отделов продвижения PR и других методов повышения реализации готовой продукцию. Активно ведутся семинары и другие мероприятия для популяризации языка. Поэтому возможно данных факторов LISP не может занимать туже нишу рынков системного и прикладного программирования, что и компилируемые языки C#, С++, Java, Delphi. В тоже время на момент создания язык LISP говоря простыми словами был и остается продвинутым языком. Поэтому многие компилируемые языки оказались под влиянием возможностей языка LISP. Вообщем хотя LISP и не используется так часто как компилируемые языки но, он оказал существенное влияние на из развитие.

" Программирование на языке ЛИСП в системе muLISP-90″. Байдун В. В., Кружилов С. И., Сергиевский А. Е, Чернов П. Л. — М.: Моск. энеpг. ин-т, 1993. — 40 С.

" Функциональное программирование". Хендерсон П.: Пер. с англ.

М.: Мир, 2003. — 637 С.

" Мир Лиспа". Хювёнен Э., Сеппянен Й. В 2-х т. / Пер. с финск. — М.: Мир, 2000. — ISBN 5−03−1 935;9.

Язык программирования XLISP". Тужилов И. В. Учеб. пособие. — Пенза: Изд-во Пенз. гос. техн. ун-та,.

2004. — 126 С Х. Абельсон, Д. Сассман. Структура и интерпретация компьютерных программ. — Книга и курс лекций MIT. В качестве основного языка используется Scheme.

Paul Graham. ANSI Common Lisp. — Prentice Hall, 1995. — ISBN 0−13−370 875−6 (англ.). Перевод: Пол Грэм. ANSI Common Lisp. — СПб.: Символ-Плюс, 2012. — 448 с. — ISBN 978−5-93 286−206−3.

Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. / Пер. с финск. — М.: Мир, 1990. — ISBN 5−03−1 935;9 (русск.). — ISBN 5−03−1 336−9. — ISBN 951−26−2787−6 (финск.).

Paul Graham. On Lisp. — Prentice Hall, 1993. — ISBN 0−13−30 552−9 (англ.).

А.П. Крюков, А. Я. Родионов, А. Ю. Таранов, М. Е. Шаблыгин «Программирование на языке R-Лисп» М. «Радио и связь», 1991.

Н.Н. Дацун, А. П. Хован «Интернет-учебный курс для обучения языку Лисп» в материалах конф. «Вирт-2001» .

У. Маурер «Введение в программирование на языке Лисп» М. 1976.

Т. Пратт «Языки программирования: разработка и реализация» М. 1979.

Л.В. Городняя «Основы функционального программирования» Новосибирск 2004 г.

14. pcl.catap.ru — русский перевод книги en: Practical Common Lisp (англ.).

15. Cookbook — русский перевод (незаконченный) сборника рецептов Common Lisp Cookbook (англ.).

16. lisp.ru — ресурсы по языку Лисп (учебники, статьи).

17.lisper.ru — сайт, посвящённый Common Lisp, написанный на самом Common Lisp.

18. lisp.ystok.ru — Лисп у «Истоков» (литература, ссылки, проекты с исходным кодом).

19. ti.arc.nasa.gov›m/pub-archive/archive/0176.pdf — ссылка на систему RemoteAgent от NASA.

20. flownet.com›gat/jpl-lisp.html — описание статьи о системе RemoteAgent.

21.

http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html — сайт программирование на языке Clojure.

22.

https://psg.com/~dlamkins/sl/cover.html — статья по языку LISP Successful Lisp: How to Understand and Use Common Lisp.

LISP (List processing language) — язык обработки списков.

ANSI — Американский национальный институт стандартов, объединение различных институтов, разработчиков программного обеспечения и промышленных групп.

Open Source Foundation — сообщество разработчиков создающие, поддерживающие программы с открытым исходным кодом.

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

Статья «Вычислительные машины и разум» — Алан Тьюринг 1950 г.

Игры с нелинейным сюжетом — игры в которых выбор пользователя влияет на сценарии, на дерево развития событии.

GIMP — свободно распространяемый растровый редактор графики.

IDE — интегрированная система разработки программного обеспечения, включающая в себя компилятор языка программирования, отладчик, библиотек компонентов и модулей и других средств упрощающие разработку программного обеспечения.

Показать весь текст

Список литературы

  1. «Программирование на языке ЛИСП в системе muLISP-90″. Байдун В. В., Кружилов С. И., Сергиевский А. Е, Чернов П. Л. — М.: Моск. энеpг. ин-т, 1993. — 40 С.
  2. „Функциональное программирование“. Хендерсон П.: Пер. с англ.-М.: Мир, 2003. — 637 С.
  3. „Мир Лиспа“. Хювёнен Э., Сеппянен Й. В 2-х т. / Пер. с финск. — М.: Мир, 2000. — ISBN 5−03−1 935−9
  4. Язык программирования XLISP». Тужилов И. В. Учеб. пособие. — Пенза: Изд-во Пенз. гос. техн. ун-та, 2004. — 126 С
  5. Х. Абельсон, Д. Сассман. Структура и интерпретация компьютерных программ. — Книга и курс лекций MIT. В качестве основного языка используется Scheme.
  6. Paul Graham. ANSI Common Lisp. — Prentice Hall, 1995. — ISBN 0−13−370 875−6 (англ.). Перевод: Пол Грэм. ANSI Common Lisp. — СПб.: Символ-Плюс, 2012. — 448 с. — ISBN 978−5-93 286−206−3.
  7. Э., Сеппянен Й. Мир Лиспа. В 2-х т. / Пер. с финск. — М.: Мир, 1990. — ISBN 5−03−1 935−9 (русск.). — ISBN 5−03−1 336−9. — ISBN 951−26−2787−6 (финск.)
  8. Paul Graham. On Lisp. — Prentice Hall, 1993. — ISBN 0−13−30 552−9 (англ.).
  9. А.П. Крюков, А. Я. Родионов, А. Ю. Таранов, М. Е. Шаблыгин «Программирование на языке R-Лисп» М. «Радио и связь», 1991
  10. Н.Н. Дацун, А. П. Хован «Интернет-учебный курс для обучения языку Лисп» в материалах конф. «Вирт-2001»
  11. У. Маурер «Введение в программирование на языке Лисп» М. 1976
  12. Т. Пратт «Языки программирования: разработка и реализация» М. 1979
  13. Л.В. Городняя «Основы функционального программирования» Новосибирск 2004 г.
  14. pcl.catap.ru — русский перевод книги en: Practical Common Lisp (англ.)
  15. Cookbook — русский перевод (незаконченный) сборника рецептов Common Lisp Cookbook (англ.)
  16. lisp.ru — ресурсы по языку Лисп (учебники, статьи).
  17. lisper.ru — сайт, посвящённый Common Lisp, написанный на самом Common Lisp
  18. lisp.ystok.ru — Лисп у «Истоков» (, ссылки, проекты с исходным кодом).
  19. ti.arc.nasa.gov›m/pub-archive/archive/0176.pdf — ссылка на систему RemoteAgent от NASA.
  20. flownet.com›gat/jpl-lisp.html — описание статьи о системе RemoteAgent
  21. http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html — сайт программирование на языке Clojure
  22. https://psg.com/~dlamkins/sl/cover.html — статья по языку LISP Successful Lisp: How to Understand and Use Common Lisp
Заполнить форму текущей работой
Купить готовую работу

ИЛИ