Planner

Planner

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

Был разработан Карлом Хьюитом в Лаборатории Искусственного Интеллекта Массачусетского Технологического Института. Первая публикация с описанием языка появилась в 1969 г.

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

Реализации и производные системы

Первые реализации — Micro-planner и Pico-planner содержали достаточно ограниченное подмножество языка. Практически полные варианты Planner были реализованы в системе Popler и ряде производных — QA-4, Conniver, QLISP, Ether.

В СССР язык был реализован в системе ПЛЭНЕР-БЭСМ, разработанной для БЭСМ-6 в конце 1970-х гг.

LISP и Prolog — два самых популярных языка символьной обработки. Однако интересные идеи предлагались и создателями других языков, не получивших широкой известности. Один из таких языков — редко вспоминаемый Planner. Своё название (которое переводится как «планировщик») он получил благодаря тому, что был в основном предназначен для создания систем планирования действий роботов. Planner был разработан Карлом Хьюиттом из Массачусетского технологического института в 1971 году и стал серьёзным этапом в развитии идей обработки символьной информации.

Planner обладает всеми возможностями языка LISP, то есть фактически LISP является его подмножеством. Но набор встроенных функций в языке Planner намного шире, а сами они обычно гораздо мощнее соответствующих функций языка LISP. К примеру, функции ELEM и REST обобщают функции CAR и CDR, позволяя выделять и отбрасывать из списка произвольные элементы: [ELEM 1 L] = = A, [REST 2 L] = (С (D Е F) (G Н)). Кроме того, введение в запись нескольких типов скобок (в языке LISP допускаются только круглые скобки, что весьма затрудняет чтение программ) сделало программы гораздо понятнее. Но самое главное, язык был обогащен дополнительными возможностями.

Первая из них — поиск и анализ данных по образцу. Подобный механизм был успешно опробован в языке Snobol и широко используется сейчас, например, когда в Norton Commander задаётся поиск всех файлов вида *.doc, то выполняется именно это действие.

Вторая дополнительная возможность позволяет весьма эффективно применять Planner при создании систем искусственного интеллекта: можно строить и изменять описание среды, в которой решается задача. Описание среды называется базой данных и содержит отдельные утверждения (факты), истинные в данной среде. Кроме фактов, содержащихся в базе данных, в программе нужно задавать логические отношения между используемыми в задаче понятиями, а также описания действий, которые разрешено производить. Такие описания называются теоремами. Каждая теорема имеет список условий (предпосылок), которые должны быть выполнены, прежде чем станет возможным её применение. В результате применения теоремы некоторые факты из базы данных перестают быть истинными и должны быть из неё удалены, а другие, напротив, становятся истинными и должны её пополнить. Списки фактов обоих видов также содержатся в описаниях теорем.

Самым важным нововведением языка Planner стал режим возвратов. Он позволяет во время работы программы отказываться от принятых ранее решений, если оказывается, что они не приведут к цели. Для искусственного интеллекта вообще характерно использование перебора вариантов во время решения задач, встроенный в язык Planner режим возвратов (его ещё называют механизмом поиска с возвратом, или, по-английски, backtracking) избавляет программиста от необходимости самому реализовывать такой перебор.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Planner" в других словарях:

  • Planner — Basisdaten …   Deutsch Wikipedia

  • Planner — can refer to: * Planner programming language *Planner (PIM for Emacs) *Urban planner * Route planner * Meeting and convention planner …   Wikipedia

  • planner — UK US /ˈplænər/ noun [C] ► FINANCE someone whose job is to make decisions relating to the future of an activity or industry: »a financial/project/strategic planner ► PROPERTY, TRANSPORT someone whose job is to plan where buildings, roads, etc.… …   Financial and business terms

  • Planner — Plan ner, n. One who plans; a projector. [1913 Webster] …   The Collaborative International Dictionary of English

  • planner — index accessory, accomplice, architect, catalyst, coactor, conspirer, contractor, developer, promoter …   Law dictionary

  • planner — (n.) book or device that enables one to plan, 1971, agent noun from PLAN (Cf. plan) (v.) …   Etymology dictionary

  • planner — [plan′ər] n. 1. a person who plans 2. a thing that aids in planning, specif. a small calendar, typically in the form of a booklet, with space at each date for listing appointments and activities …   English World dictionary

  • planner */ — UK [ˈplænə(r)] / US [ˈplænər] noun [countable] Word forms planner : singular planner plural planners 1) someone whose job is to plan the way that towns, cities, and other areas will grow and develop He trained as an architect and town planner. 2) …   English dictionary

  • planner — plan|ner [ plænər ] noun count * 1. ) someone who plans something: Military planners face difficult choices. 2. ) someone whose job is to plan the way that towns, cities, and other areas will grow and develop: He trained as an architect and town… …   Usage of the words and phrases in modern English

  • planner — noun Planner is used after these nouns: ↑defence, ↑meeting, ↑traffic, ↑transport, ↑wedding …   Collocations dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»