Для специальности 5В073200 «Стандартизация, сертификация и метрология»



страница4/10
Дата06.06.2016
Размер1.01 Mb.
ТипЛекция
1   2   3   4   5   6   7   8   9   10

Предложение SELECT


Все запросы на получение данных из одной  или нескольких таблиц выполняются с помощью единственного предложения SELECT. Результатом предложения SELECT является другая таблица.
Предложение SELECT может использоваться как:

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

  • элемент  WHERE- или HAVING-условия ("вложенный запрос");

  • фраза выбора в командах CREAT VIEW, DECLARE CURSOR или INSERT;

  • средство присвоения глобальным  переменным  значений  из  строк сформированной таблицы (INTO-фраза).

Здесь будут рассмотрены только  две  первые функции  предложения  SELECT.
Предложение SELECT (выбрать) имеет следующий формат:
подзапрос [UNION [ALL] подзапрос] ...
[ORDER BY {[таблица.]столбец | номер_элемента_SELECT} [[ASC] | DESC]
[,{[таблица.]столбец | номер_элемента_SELECT} [[ASC] | DESC]] ...;
и позволяет объединить (UNION) а затем упорядочить (ORDER BY)  результаты выбора данных, полученных с помощью нескольких "подзапросов". При этом упорядочение  можно  производить  в  порядке  возрастания  -  ASC или убывания - DESC
Подзапрос позволяет указать условия для выбора нужных данных и (если требуется) их обработки

  • SELECT(выбрать) данные из указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями

  • FROM(из) перечисленных таблиц, в которых расположены эти столбцы

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

  • GROUP BY(группируя по) указанному перечню столбцов с тем, чтобы получить для каждой группы единственное  агрегированное  значение,  используя во фразе SELECT SQL-функции SUM(сумма),  COUNT(количество),  MIN(минимальное  значение),  MAX(максимальное значение) или AVG(среднее значение)

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

Подзапрос  имеет формат

SELECT [ DISTINCT]{ * | элемент_SELECT [,элемент_SELECT] ...}
FROM {базовая_таблица | представление} [псевдоним] 
[,{базовая_таблица | представление} [псевдоним]] ...
[WHERE фраза]
[GROUP BY фраза [HAVING фраза]];
Синтаксис выражений имеет вид
 ( {[ [+] | - ] {значение | функция_СУБД} [ + | - | * | ** ]}... )
а синтаксис SQL_функций - одна из следующих конструкций:
{SUM|AVG|MIN|MAX|COUNT} ( [[ALL]|DISTINCT][таблица.]столбец )
{SUM|AVG|MIN|MAX|COUNT} ( [ALL] выражение )
COUNT(*)

Фраза WHERE включает набор условий для отбора строк:


WHERE [NOT] WHERE_условие [[AND|OR][NOT] WHERE_условие]...
где WHERE_условие - одна из следующих конструкций:
значение { = | | | >= } { значение | ( подзапрос ) }
значение_1 [NOT] BETWEEN значение_2 AND значение_3
значение [NOT] IN { ( константа [,константа]... ) | ( подзапрос ) }
значение IS [NOT] NULL
[таблица.]столбец [NOT] LIKE 'строка_символов' [ESCAPE 'символ']
EXISTS ( подзапрос )

Нетрадиционные условия отбора: BETWEEN (между), LIKE (похоже на), IN (принадлежит),  IS NULL (не определено) и EXISTS (существует). В условиях могут употребляться логические операции: NOT, AND, OR.

Cинтаксис фразы GROUP BY имеет вид
GROUP BY [таблица.]столбец [,[таблица.]столбец] ...
[HAVING фраза]
GROUP BY инициирует перекомпоновку формируемой таблицы  по  группам, каждая из которых имеет одинаковое значение в столбцах, включенных в перечень GROUP BY. Далее к этим группам применяются агрегирующие функции,  указанные во фразе SELECT. С помощью  фразы HAVING, синтаксис которой:

HAVING _условие [[AND|OR][NOT] HAVING_условие]...
можно исключить из результата группы,  не удовлетворяющие заданным условиям.

Лекция 8. Искусственный интеллект и экспертные системы. Представление знаний.

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


Искусственный интеллект (ИИ) - совокупность научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
Искусственный интеллект - одно из направлений информатики, целью которого явлвется разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка.[9]
Системы искусственного интеллекта (СИИ) — это системы, созданные на базе ЭВМ, которые имитируют решение человеком сложных интеллектуальных задач.
Знания: в общем случае знание — проверенный практикой результат познания действительности, верное ее отражение в мышлении человека, обладание опытом и пониманием, которые являются правильными и в субъективном, и в объективном отношении, на основании которых можно по-строить суждения и выводы, кажущиеся достаточно надежными для того, чтобы рассматриваться как знание. Поэтому в контексте ИТ термин зна-ния - это информация, присутствующая при реализации интеллектуальных функций. Обычно это отклонения, тенденции, шаблоны и зависимости, обнаруженные в информации Другими словами, интеллектуальные системы являются в то же время системами обработки знаний.

История развития искусственного интеллекта

В развитии СИИ можно выделить три основных этапа:



  • 60-70-е годы. Это годы осознания возможностей искусственного интеллекта и формирования социального заказа на поддержку процессов принятия решений и управления. Наука отвечает на этот заказ появлением первых персептронов (нейронных сетей), разработкой методов эвристического программирования и ситуационного управления большими системами (разработано в СССР)

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

  • 80-90-е годы. Появляются интегрированные (гибридные) модели представления знаний, сочетающие в себе интеллекты: поисковый, вычислительный, логический и образный.

Задачи искусственного интеллекта

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



  1. доказательства теорем;

  2. распознавание образов;

  3. робототехника;

  4. моделирование игр;

  5. инженерия знаний;

  6. экспертные системы

Экспертные системы - направление исследований по искусственному интеллекту

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


Рассмотрим несколько определений.
Экспертная система - программно-техническое средство, позволяющее пользователю в диалоговом режиме получать от компьютера консультационную помощь в конкретной предметной области, где сконцентрированы опыт и знания людей-экспертов (специалистов в данной области).
Экспертные системы – программы для компьютера, которые могут воспроизводить процесс решения проблемы человеком-экспертом.[2]
Эспертная система - программа, которая использует знания специалистов (экспертов) о некоторой конкретной узко специализированной предметной области и в пределах этой области срособна принимать решения на уровне эксперта-профессилнала. [13]
Экспертные системы - прикладные программы ИИ, в которых база знаний представляет собой формализованные эмпирические знания высококвалифицированных специалистов (экспертов) в какой-либо узкой предметной области.
Экспертная система - программа для компьютрера, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем.
В основе функционирования ЭС лежит использование знаний, а манипулирование ими осуществляется на базе эвристических правил, сформулированных экспертами. ЭС выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Главное достоинство экспертных систем - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов.

Классификация и виды экспертных систем

Для классификации ЭС используют следующие признаки:


По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.


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

Область применения экспертных систем

Критерий использования ЭС для решения задач.


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

  1. Данные и знания надежны и не меняются со временем.

  2. Пространство возможных решений относительно невелико.

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

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

Лекция 9. Экспертные системы.

Экспертные системы - направление исследований по искусственному интеллекту

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


Рассмотрим несколько определений.
Экспертная система - программно-техническое средство, позволяющее пользователю в диалоговом режиме получать от компьютера консультационную помощь в конкретной предметной области, где сконцентрированы опыт и знания людей-экспертов (специалистов в данной области).
Экспертные системы – программы для компьютера, которые могут воспроизводить процесс решения проблемы человеком-экспертом.[2]
Эспертная система - программа, которая использует знания специалистов (экспертов) о некоторой конкретной узко специализированной предметной области и в пределах этой области срособна принимать решения на уровне эксперта-профессилнала. [13]
Экспертные системы - прикладные программы ИИ, в которых база знаний представляет собой формализованные эмпирические знания высококвалифицированных специалистов (экспертов) в какой-либо узкой предметной области.
Экспертная система - программа для компьютрера, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем.
В основе функционирования ЭС лежит использование знаний, а манипулирование ими осуществляется на базе эвристических правил, сформулированных экспертами. ЭС выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Главное достоинство экспертных систем - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов.

Классификация и виды экспертных систем

Для классификации ЭС используют следующие признаки:



  • Способ формирования решения;

  • Способ учета временного признака;

  • Вид используемых данных;

  • Число используемых источников решения знаний;

По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.


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

Область применения экспертных систем

Критерий использования ЭС для решения задач.


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

Данные и знания надежны и не меняются со временем.

Пространство возможных решений относительно невелико.

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

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

Лекция 10. Перспективы развития баз данных и экспертных систем.

Современные базы данных являются основой многочисленных информационных систем. Информация, накопленная в них, является чрезвычайно ценным материалом, и в настоящий момент широко распространяются методы обработки баз данных с точки зрения извлечения из них дополнительных знаний, методов, которые связаны с обобщением и различными дополнительными способами обработки данных. Базы данных в данной концепции выступают как хранилища информации, это направление называется «Хранилища данных» (Data Warehouse).

Для работы с «Хранилищами данных» наиболее значимым становится так называемый интеллектуальный анализ данных (ИАД), или data mining, — это процесс выявления значимых корреляций, образцов и тенденций в больших объемах данных. Учитывая высокие темпы роста объемов накопленной в современных хранилищах данных информации, невозможно недооценить роль ИАД. По мнению специалистов Gartner Group, уже в 1998 г. ИАД вошел в десятку важнейших информационных технологий. В последние годы началось активное внедрение технологии ИАД. Ее активно используют как крупные корпорации, так и более мелкие фирмы, которые серьезно относятся к вопросам анализа и прогнозирования своей деятельности. Естественно, на рынке программных продуктов стали появляться соответствующие инструментальные средства.

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

В бизнес-приложениях наибольший интерес представляет интеграция методов интеллектуального анализа данных с технологией оперативной аналитической обработки данных (On-Line Analytical Processing, OLAP). OLAP использует многомерное представление агрегированных данных для быстрого доступа к важной информации и дальнейшего ее анализа.

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

В основе концепции оперативной аналитической обработки (OLAP) лежит многомерное представление данных. Термин OLAP ввел Кодд (Е. F. Codd) в 1993 году. В своей статье он рассмотрел недостатки реляционной модели, в первую очередь невозможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом», и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

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

Целью изучения этих вопросов является подготовка специалистов в области автоматизации сложноформализуемых задач, которые до сих пор считаются прерогативой человека. Данная дисциплина необходима для приобретения знаний о способах мышления человека, а также о методах их реализации на компьютере. Из сказанного выше вытекает основная философская проблема в области ИИ — возможность или невозможность моделирования мышления человека. В случае, если когда-либо будет получен отрицательный ответ на этот вопрос, все остальные вопросы курса не будут иметь ни малейшего смысла [37].

Следовательно, начиная исследование ИИ, заранее предполагается положительный ответ. В [37] приведены несколько соображений, которые подводят к данному ответу.



  1. Первое доказательство является схоластическим и говорит о непротиворечии ИИ и Библии. Даже люди, далекие от религии, знают слова священного писания: "И создал Господь человека по образу и подобию своему…". Исходя из этих слов, можно заключить, что поскольку Господь, во-первых, создал нас, а во-вторых, мы по своей сути подобны ему, то мы вполне можем создать кого-то по образу и подобию человека.

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

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

  4. С проблемой воспроизведения своего мышления тесно смыкается проблема возможности самовоспроизведения.

Способность к самовоспроизведению долгое время считалась прерогативой живых организмов. Однако некоторые явления, происходящие в неживой природе (например, рост кристаллов, синтез сложных молекул копированием), очень похожи на самовоспроизведение. В начале 1950-х годов Дж. фон Нейман занялся основательным изучением самовоспроизведения и заложил основы математической теории "самовоспроизводящихся автоматов". Он же теоретически доказал возможность их создания.

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



  1. Принципиальная возможность автоматизации решения интеллектуальных задач с помощью ЭВМ обеспечивается свойством алгоритмической универсальности. Что же это за свойство?

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

Однако не следует думать, что вычислительные машины и роботы могут в принципе решать любые задачи. Алгоритмическая универсальность ЭВМ означает, что на них можно программно реализовывать (т. е. представить в виде машинной программы) любые алгоритмы преобразования информации — будь то вычислительные алгоритмы, алгоритмы управления, поиска доказательства теорем или композиции мелодий. При этом имеют в виду, что процессы, порождаемые этими алгоритмами, являются потенциально осуществимыми, т. е. что они осуществимы в результате конечного числа элементарных операций. Практическая осуществимость алгоритмов зависит от имеющихся в нашем распоряжении средств, которые могут меняться с развитием техники. Так, в связи с появлением быстродействующих ЭВМ стали практически осуществимыми и такие алгоритмы, которые ранее были осуществимыми только потенциально.

Однако свойство алгоритмической универсальности не ограничивается констатацией того, что для всех известных алгоритмов оказывается возможной их программная реализация на ЭВМ. Анализ разнообразных задач привел математиков к замечательному открытию. Было строго доказано существование таких типов задач, для которых невозможен единый эффективный алгоритм, решающий все задачи данного типа; в этом смысле невозможно решение задач такого типа и с помощью вычислительных машин. Этот факт способствует лучшему пониманию того, что могут делать машины и чего они не могут сделать. В самом деле, утверждение об алгоритмической неразрешимости некоторого класса задач является не просто признанием того, что такой алгоритм нам не известен и никем еще не найден. Такое утверждение представляет собой одновременно и прогноз на все будущие времена о том, что подобного рода алгоритм нам неизвестен и никем не будет указан или, иными словами, что он не существует.

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

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

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






Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   10


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница