Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

темами математики и логики

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 11.5.2024

Символическое представление

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

В этом определении "другое нечто" обычно называется значением (designation) символа. Это то, на что ссылается и что представляет символ. Значением может быть физический объект или понятие (концепт), но сам символ является физическим объектом. Так, цифра "7" является символом, представляющим число 7, которое является понятием.

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

  1.  такие синтаксические правила формирования символических структур из символов, которые придают сформированным структурам смысл, зависящий от смысла компонентов;
  2.  правила трансформации, регламентирующие преобразование одних символических структур в другие.

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

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

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

Физическая символическая система

Ньюэлл [Newell, 1981] описывает физическую символическую систему как помещенную в некоторую среду машину, состоящую из следующих компонентов:

памяти, включающей символические структуры, число и содержание которых может изменяться во времени;

  1.  набора операторов для манипулирования символическими структурами, например чтения, записи, копирования;
  2.  средств управления, предназначенного для непрерывной интерпретации текущей активной символической структуры или структуры, к которой выполняется обращение;
  3.  средств ввода из окружающей среды посредством рецепторов и вывода в окружающую среду посредством эффекторов.

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

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

В следующем разделе мы рассмотрим реализацию и использование физической символической системы в искусственном интеллекте.

Главная гипотеза

Ньюэлл и Саймон следующим образом сформулировали гипотезу физической символической системы (PhysicalSymbolSystemHypothesis) [NewellandSimon, 1976]:

"Физическая символическая система имеет необходимые и достаточные средства для того, чтобы производить осмысленные действия".

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

Независимо от того, справедлива ли эта гипотеза, символические вычисления стали реальностью, и полезность этой парадигмы для программирования трудно отрицать.

Реализация символических структур на языке LISP. Структуры данных в языке LISP.

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

Множество – это неупорядоченный набор элементов, в то время как физические символы в структуре должны занимать определенное положение (это положение может быть скрытым от программиста, и он может рассматривать структуру как неупорядоченное множество, но это уже относится вособенностям реализации). Последовательность, как структура, позволяет говорить о месте символа в этой последовательности, но абстрактная последовательность может быть бесконечной.

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

Одним из первых языков обработки списков был LISP [McCarthy, 1960]. За четыре десятилетия, которые прошли после появления его первой версии, язык неоднократно, модифицировался и расширялся, но в основе своей изменился мало. Разработчики языка утверждали, что LISP отличается от прочих языков программирования следующими свойствами [McCarthyetal, I960]:

  1.  основной структурой данных в нем является список;
  2.  программы на этом языке также имеют списочную структуру;
  3.  его базовыми операциями являются операции над списками.

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

Базовым блоком в структуре данных языка LISP является символическое выражение. Простое символическое выражение использует атомарные символы, или атомы – строки буквенно-цифровых символов, которые начинаются с буквы, например WOMBAT. (Допустимая длина строки варьируется в зависимости от версии исполняющей системы.) Во внутренней структуре данных атом представлен ячейкой памяти. Отдельным атомом является символ Т, которым представляется константа "True" – истина. Другой специальный атом, NIL, представляет, с одной стороны, константу "False"– ложь, а с другой – пустой список.

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

Списки представляют собой довольно гибкие структуры данных, поскольку могут объединять элементы разных типов и иметь произвольную длину и размерность (вложенность). Например, в LISP возможен такой список:

("а" (9) () N (? (WOMBAT)) (A.В) NIL 0.9)

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

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




1. принципы Предмет семейного права Предмет семейного права это общественные отношения возникающие из бр
2. П. Положение обязывает соблюдать кассовую дисциплину не только организации но и индивидуальных предприним
3. Нужно ли доказывать то что музыка влияет на человека Под ее действием трус может стать храбрецом ле
4. Информатика осенний семестр 20012-2013 уч.html
5. Организация проводной связи в ОВД (контрольная по специальной технике)
6. Требования промышленной безопасности при производстве и потреблении продуктов разделения воздуха
7. являются важными демократическими гарантиями правосудия по гражданским делам; 2 суд руководствуетс
8. на тему- Современное состояние контроля качества полуфабрикатов и готовой продукции Выполнил- ст
9.  Подготовительная часть судебного разбирательства Задача подготовительной части судебного разбирательс
10. Секреты умелого руководителя
11.  Философия заставляет людей думать
12. Коммерческие банки и их операции
13. I Rzeczowniki rodzju m~skiego mj~ dwie podstwowe grupy- njliczniejsz jest grup wyrz~w ko~cz~cych si~ n sp~~g~osk~-brt kot ch~opiec zeszyt b~l; i nieliczn- n smog~osk~ -
14. теория слизи нашла поддержку и в современной медицине
15. Особенности деятельности предприятия на различных стадиях жизненного цикла
16. Единобожие В единобожии мы говорили что Аллах один и нет ему сотоварища ни в господстве ни в божественн
17. на тему- Біографія Миколи Андрійовича Аркаса
18. Статья- Совершенствование обеспечения безопасности на транспорте в рамках требований Президента России и п
19.  Природу экономических циклов объясняют факторами лежащими вне рамок экономической системы
20. Российские железные дороги