Символьное моделирование

 

 

Символьное моделирование - моделирование на основе символьных вычислений. 

 

 

Символьные вычисления

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

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

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

Символьное моделирование осуществляется на основе систем компьютерной алгебры (computer algebra system, CAS):

  • Maple,

  • Mathematica

  • Sage,

  • Maxima,

  • Reduce и др.

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

Универсальность символьных вычислений делает их эффективным инструментом в моделировании лингвистических феноменов.

Уже MATHLAB (одна из первых систем компьютерной алгебры), была создана в рамках исследования искусственного интеллекта (MITRE) на основе языка LISP.

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

Образцом (моделью) инструментария символьного моделирования может служить инструментарий,  включающий:

  • систему компьютерной алгебры Mathematica,

  • язык программирования Wolfram Language,

  • Wolfram|Alpha,

  • CDF (формат вычисляемых документов)

  • Wolfram Programming Cloud.

 Данный инструментарий разработан под руководством Стивена Вольфрама.

 

 

 

Гипотеза Ньюэлла — Саймона

Гипотеза о физической символьной системе (гипотеза Ньюэлла — Саймона) — физическая символьная система имеет необходимые и достаточные средства для произведения основных интеллектуальных операций.

Пояснение:

  • без символьных вычислений невозможно выполнять осмысленные действия,

  • способность выполнять символьные вычисления достаточна для выполнения осмысленных действий.

  • если человек или машина действуют осмысленно, то значит, они выполняют символьные вычисления.

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

Гипотеза Ньюэлла — Саймона сформулирована Алленом Ньюэллом и Гербертом Саймоном в 1976 году.

Основанием для гипотезы стало успешное применение созданной Ньюэллом и Саймоном программы — универсального решателя задач — для моделирования рассуждений человека.

Болььшая часть исследований искусственного интеллекта пошла именно по пути создания символьных систем.

Независимо от того, справедлива ли эта гипотеза, символьные вычисления — общепризнная эффективная парадигма.

 

 

Стивен Вольфрам

Стивен Вольфрам (Stephen Wolfram) за невероятные успехи в образовании получил в детстве прозвище «маленького Эйнштейна». В 15 лет опубликовал статью по физике элементарных частиц.

За работы в физике элементарных частиц, космологии и информатике получил «грант для гения» от фонда Макартуров.

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

Основал компанию Wolfram Research и в 2009 представил базу знаний и набора вычислительных алгоритмов WolframAlpha

Автор концепции  A New Kind of Science

Научный консультант фильма «Прибытие»

Женат, отец четверых детей. 

 

 

 

Рекомендуемые материалы

 

 Вычислительное будущее
 Что такое вычислительное мышление?
 Знакомство с Wolfram Language
 А что насчет…
 Основы
 Куда может вписаться вычислительное мышление?
 Что дети могут делать?
 Во главе с детьми
 Что такое вычисления и программирование?
 Как все это будет происходить?

 

 

 

Mathematica

Mathematica (CAS):

  • система компьютерной алгебры

  • построенная на базе проблемно-ориентированного языка функционального программирования высокого уровня Mathematica.

  • предназначенная для решения различных задач (в том числе и лингвистических) в диалоговом режиме без традиционного программирования.

См: http://www.wolfram.com/mathematica/

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

 Mathematica (язык) — интерпретируемый язык функционального программирования, на котором написана (большая часть) CAS Mathematica (часть написана на языке С).

Mathematica поддерживает процедурное программирование, объектно-ориентированный подход, отложенные вычисления, задания правилл работы с теми или иными выражениями (метамоделирование).

 

Ключевым элементом системы Mathematica является Wolfram Language.

В 2018 год с  версиями 11.3 языка Wolfram Language и Mathematica

 

 

 

 

Wolfram Language

Wolfram Language  (http://www.wolfram.com/language/) – мультипарадигмальный (общецелевой) язык символьных вычислений, функционального и логического программирования с возможностью реализовывать произвольные структуры и данные.

Wolfram Language основан на современной математизированной формальной логике, которая используется  как внутри математики (исследование оснований математики), так и вне ее (автоматическая обработка текста и речи, теоретическая информатика, искусственный интеллект).

Универсальность Wolfram Language обеспечивается богатством интегрированных в него многочисленных  специализированных данных, алгоритмов, баз знаний, призванных репрезентировать «полную вычислимую модель мира» и максимально автоматизировать моделирование его объектов, процессов, отношений.

Лингвистические приложения:

Ресурсы по Wolfram Language на русском языке

В 2018 год с  версиями 11.3 языка Wolfram Language и Mathematica

На Wolfram Language и Mathematica основана Wolfram|Alpha

 

21.05.2019  Wolfram Research бесплатно предоставляет свой движок Wolfram Engine (скачать) всем разработчикам собственных проектов. Именно он реализует Wolfram Language, который доступен в виде песочницы. Бесплатный Wolfram Engine также имеет полный доступ к базе знаний Wolfram и ее предварительно подготовленным нейронным сетям. Но для его использования вам необходимо оформить бесплатную подписку на Wolfram Cloud.

Стивен Вольфрам: Wolfram Engine - в основе всех наших продуктов позволит облегчить для всех использование языка Wolfram Language в любых проектах и дать возможность создавать системы, использующие преимущества его вычислительного интеллекта. Wolfram Language  используется в поисковых системах DuckDuckGo и Microsoft Bing, в Amazon Alexa и Siri от Apple.

08.10.2019  Курс «Основы эффективной работы с Wolfram»: видеолекции и задачи

 

 

 

 

Wolfram|Alpha

 

 Wolfram|Alpha (http://www.wolframalpha.com/)  – вычислительная система знаний (computational knowledge engine), вычисляющая ответы на пользовательские запросы (в том числе заданные на естественном языке), основываясь на собственной базе знаний и сетевых ресурсах, библиотеке алгоритмов и NKS-подходе для ответов на запросы.

Wolfram|Alpha, в частности, используется Siri –персонального помощника для iOS.

Wolfram|Alpha является попыткой практической реализации концепции A New Kind of Science

 

 

 

New Kind of Science

 

A New Kind of Science (Наука нового типа) — книга Стивена Вольфрама о вычислительных системах и вычислениях в широком ряде дисциплин (лингвистика, биология, экология, социология...).

Основным предметом «нового вида науки» Вольфрама является изучение простых абстрактных правил (элементарных компьютерных программ) независимо от компонентов изучаемой системы или деталей её устройства.

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

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

Stephen Wolfram A. New Kind of Science / Электрон. изд. – Режим доступа: https://www.wolframscience.com/ 

 

 

 

 

 

Computable Document Format

 

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

Во многом это обеспечивается использованием открытого формата вычисляемых документов (Computable Document Format или CDF), разработанного с целью облегчения создания динамически сгенерированного мультимедийного интерактивного контента.

 

 22.07.2011 Wolfram Research представила CDF (Computable Document Format, формат вычисляемых документов) - новый открытый формат электронных документов. CDF-документы отображаются в браузере, но необходимо установить бесплатное дополнение CDF Player (100 MB).

22.12.2017 CDF Player (больше 1000 MB)

 

 

Формат CDF, благодаря интеграции с Wolfram Language, Mathematica и Wolfram|Alpha, расширяет коммуникативный канал обычного текстового и графического материала до функциональности интерактивного приложения и предоставляет возможность управлять содержимым и генерировать результаты в режиме реального времени.

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

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

CDF-Player (http://www.wolfram.com/cdf-player)  целиком содержит библиотеку времени исполнения системы Mathematica, содержимое документа может генерироваться в ответ на действие пользователя с помощью любых алгоритмов или функций визуализации. Это делает CDF особенно удобным для визуализации материала, оперирующего большим числом разнообразных данных.

 

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

Общий алгоритм (метамодель) создания в Mathematica интерактивной лингвистической CDF-модели на основе набора произвольных данных и без традиционного программирования:

  • генерация набора случайных данных (с помощью встроенного генератора на основе описанных в документации синтаксических конструкций);

  • копирование готового кода;

  • графическое отображение полученного набора данных на основе выбора встроенных объектов;

  • вычисление и копирование готового кода;

  • символьные вычисления на основе выбора нужных функций и условий синтаксиса;

  • визуализация и копирование готового кода;

  • добавление в графическое отображение различных элементов;

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

  • вычисление и копирование готового кода.

  • оформление интерактивной модели и добавление опции инициализации;

  • преобразование интерактивной модели в формат CDF.

http://www.wolfram.com/cdf/

 

 

 

Wolfram Demonstrations Project & Contributors

 

В Интернете представлены сотни интерактивных моделей, полученных в результате символьных вычислений в Mathematica (http://demonstrations.wolfram.com/).

В несколько десятков из них моделирует различные аспекты Textual Analysis и School Language Arts (раздел Our World, подраздел Linguistics).

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

Открыт доступ к Wolfram Programming Cloud (облако программирования Wolfram), который позволяет в любом браузере и с любого устройства создавать готовые CDF-документы, приложения, работать с прямым API, создавать автоматически генерируемые отчеты, отсроченные задания, веб-страницы и многое другое.

 

 

 

Wolfram SystemModeler

Wolfram SystemModeler - платформа компьютерного моделирования физико-технических и био-химических объектов и систем.

Wolfram SystemModeler разработан Wolfram Research

http://wolfram.com/system-modeler/index.ru.html

http://www.wolfram.com/system-modeler/modeling-tools-comparison/
 

Wolfram SystemModeler основан на языке Modelica.

Modelica (https://www.modelica.org/) — язык моделирования сложных физических систем (содержащих механические, электрические, электронные, гидравлические, тепловые, энергетические и др. компоненты).
Modelica (как язык моделирования) отличается от стандартных языков программирования тем, что:

  • классы Modelica не компилируются в обычном смысле, но преобразуются в объекты, которые затем используются специализированным процессором, который манипулирует уравнениями в символьном виде.

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

Обзор возможностей языка Modelica

Modelica Language Specification 3.4.

 

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

Стандартная библиотека Modelica Standard Library (https://www.modelica.org/libraries ) содержит тысячи типичных элементов моделей и функций из различных областей.

Язык Modelica используется и в вругих системах моделирования.

Например в открытой свободной системе моделирования OpenModelica

См.также https://en.wikipedia.org/wiki/OpenModelica

 

Конференции 2018 по моделированию на Modelica:

Vitaliy Kaurov Modeling a Pandemic like Ebola with the Wolfram Language
Перевод в виде документа Mathematica, который содержит весь код использованный в статье можно (архив, 100 МБ).

 

 

 

kmp