Реферат по предмету "Информатика, программирование"


Разработка алгоритма работы интеллектуальной информационной системы "Расчет меню"

Министерство образования и наукиРоссийской Федерации
Тема: Разработка алгоритма работы интеллектуальнойинформационной системы
Пояснительная записка к курсовойработе
По дисциплине: Интеллектуальныеинформационные системы
Екатеринбург
2006

1.        ПОСТАНОВКАЗАДАЧИ
Предположим, мы решили облегчить жизнь всем женщинам России ипомочь им в составлении меню на семейный ужин. Предположим, каждая женщиназнает, какие и сколько (примерно) продуктов у нее есть дома в холодильнике. Присоставлении меню ей приходится помнить о предпочтениях каждого члена своейсемьи (но не обязательно строго им следовать). Также она должна помнить, чтоона уже готовила на ужин в недалеком прошлом. И, наконец, при составлении менюей следует учитывать семейные традиции, необходимость здорового образа жизни,длительность и сложность приготовления ужина, свою усталость и еще Бог знает,что.
С учетом всего вышеперечисленного для решения поставленной задачинужно разработать алгоритм расчета меню и соответствующую ему ИИС.
2.        ИССЛЕДОВАНИЕПРЕДМЕТНОЙ ОБЛАСТИ
Перед тем как начать,что-либо проектировать, нужно изучить предметную область и понять, что у насесть и с чем мы будем работать. Для этого составим себе маленькую схему работы.
1.        перед тем какиспользовать интеллектуальную систему ее надо сначала создать (или создатьчто-то похожее на ИИС)
2.        любая только чтосозданная ИИС требует первоначального обучения, которое, обычно, требуетнемалых затрат времени.
3.        функциональностьИИС (правильность выдаваемых ответов) напрямую зависит от степени ее обучения.
Представим себе, что, вконечном счете, хочет получить от нас женщина J:
— это должна бытьсистема, которая при определенных (заданных) параметрах должна «сказать» ей,что лучше всего приготовить на ужин именно в данный вечер.
Теперь проанализируем теосновные принципы, опираясь на которые, хозяйка сделает выбор в пользу будущегоужина. И так:
1 — Основной параметр – ПРОДОЛЖИТЕЛЬНОСТЬВАРКИ. Мы все понимаем то, что ей гораздо приятнее поговорить 2 часа сподругой по телефону, чем 30 минут провести у плиты!
2 – Второй параметр – УСТАЛОСТЬ– благодаря которому, муж вообще может обойтись без ужина.
3 – Третий – ПОЛЕЗНОСТЬ.А вам до сих пор не говорили, что овощная запеканка намного полезнее сочныхкотлет, которые к тому же портят ее фигуру.
4 – Четвертый – НАЛИЧИЕПРАЗДНИКА. Если он есть в этот день, то можно даже помочь ей, так как длятакого ужина она обычно очень старается.
5 – «СТЕПЕНЬВКУСНОСТИ» ДЛЯ МУЖА
6 – «СТЕПЕНЬ ВКУСНОСТИ»ДЛЯ ДОЧЕРИ
7 – «СТЕПЕНЬВКУСНОСТИ» ДЛЯ СЫНА и т. д. в зависимости от количества домочадцев в семье (внашем примере будет сын и дочь).
Эти показатели не менееважны для них. Так как им бедным приходиться долго думать над тем как одновременноугодить всем этим капризным детям и мужу, который обычно вы говорит свое мнениепосле того, когда ужин уже готов и его оторвали от любимого телевизора.
8 – восьмой. РАДИСЕБЯ/СЕМЬИ. Будем добры и понятливы к женщинам и оставим этот показатель специальнодля них. Ведь даже мы (мужчины), когда делаем что-то для «для семьи», мы делаемэто:
— потому что нам просто всамимэтого хочется;
— потому что это будетприятно или полезно для семьи.
Вот таким нехитрымспособом мы выявили основные «параметры приготовления ужина». Теперь длянаглядности создадим таблицу, в которой представим себе как женщина можетоценить возможные варианты значений для выявленных параметров.
название параметра
1
2
3
4
5 Продолжительность варки 15 мин 30 мин 45 мин 60 мин 1,5 часа Усталость полна энергии готова к труду средней паршивости немного устала устала вдрызг Полезность обязательно полезно полезно средне
вредно
но хочется вредно Праздник есть праздник нет праздника Вкусность: муж очень вкусно вкусно средне
невкусно
но поест его не спрашивают Вкусность: дочь очень вкусно вкусно как обычно невкусно совсем невкусно Вкусность: сын очень вкусно вкусно как обычно невкусно совсем невкусно ради себя / семьи себе семье
3.        ВОЗМОЖНЫЕВАРИАНТЫ РЕШЕНИЙ
Задумавшись над решениемвеликой проблемы «есть или не есть», что-то сподвигнуло нас на целых дваварианта решения этой задачи. Попробуем проанализировать каждый из них и понятькак с наименьшими затратами нашего драгоценного времени создать наиболееоптимальную систему для наших любимых женщин.
Решение первое.
Так как я сам занимаюсьразработкой баз данных, то при виде таблицы у меня сразу же возникла идеясоздания программки, которая позволяла бы на начальном этапе сохранять в базевсе «коды блюд», которые готовила женщина в течении определенного промежуткавремени. А на втором этапе (после периода обучения) сама выдавала бы вариантыблюд по определенным выбранным только ей самой параметрам.
Поясним понятие «кодблюда». Допустим, что, приготовив сегодня борщ, она следовала следующимпринципам:
— у нее было более 2часов свободного времени;
— у нее сегодня выходной,поэтому даже под вечер она еще готова потрудиться;
— на полезность она необратила внимание, так как борщ не вреден, не полезен;
— сегодня не праздник,поэтому не было нужды особо напрягаться;
— она знала, что мужу оночень нравиться;
— дети вообще в лагере ихмнение она не учла;
— она сказала ему, чтосделала это только ради него;
Отсюда обращаясь ктаблице, получаем «код борща» — 52321002. Конечно, борщ она могла быприготовить и при других обстоятельствах. Но вся суть как раз в том изаключается, чтобы записать в базу как можно больше таких вариантов. В этом ибудет заключаться процесс обучения программы. Если представить себе что уженщины хватит терпения целый год каждый вечер записывать все кодыприготовленных блюд, то уже на следующий год будет большая вероятность тогочто, выбрав какие либо параметры она получит вариант, который она когда-то ужеиспользовала на практике.
Кроме того, системувсегда можно будет пополнять новыми данными. Допустим, она выбрала какие-топараметры, которые не предоставили ей ответа, тогда она заведет новый кодблюда, ведь ей все равно придется готовить J. Или другой вариант – она получила ответ с возможнымвариантом, но в последний момент решила сама приготовить что-то другое. Тогдаона просто дополнит систему новым блюдом с такими же параметрами и в следующийраз она уже получит целых два варианта на свой запрос!
Такая ИИС будетпредставлять собой компьютерную программу, написанную, к примеру, на Delphi, которая по возможности будетработать не только на персональном компьютере, но и на КПК или СмартФонах.Благо современные технологии программирования (особенно NET) позволяют воссоздать любые мечты. Итогда наши любимые жены еще по дороге домой смогут прикинуть для себя, что импредстоит приготовить и заодно, напомнить нужно ли по пути заскочить в магазинза продуктами, которых возможно нет дома.
Представим алгоритмыобучения и использования программы в виде блок-схем.
Реализация первогопримера.
Разработаем (какговорилось выше) форму для работы с программой.
Все будем делать в Delphi 7. так как это, на мой взгляд, этосамая удобная среда программирования (притом, что другими я не очень хорошовладею).
Итак, вид нашего окна дляработы с ИИС будет выглядеть так (рис 1).
/>
Рис. 1 — Рабочее окнопрограммы

Вся работа с программойна момент обучения будет сводиться к простому выбору «параметров» приготовленияблюда, записи его названия и нажатия кнопки «ЗАПИСАТЬ». После этого новаязапись будет сохранена в файле «до лучших времен».
Немного о логикеработы программы:
Программа работает попринципу реляционной базы данных. Файл для хранения данных представляет собойфайл MS Access, в котором находиться всего одна таблица, содержащаятри поля: Код блюда, Название блюда, дата записи. Приложение Delphi работает с базой по технологии ADO, записывая и выбирая из базы нужныезаписи.
Восьмизначный код блюдаформируется путем выбора определенных значений в каждой группе. И по такому жеалгоритму выбранный код блюда ищется в базе. В результате может найтисьнесколько блюд, так как код не является уникальным для каждого блюда. Исоответственно наоборот, как говорилось выше, одно блюдо может иметь несколькокодов.
Весь интерфейс программыя старался сделать наиболее «доброжелательным» к женщинам, снабдил некоторымишутками и подсказками. Например если после того как женщина ничего не найдет вбазе на свой запрос появиться сообщение (рис 2), которое быстро должно не датьей огорчиться и заставит ее улыбнуться!
/>
Рис. 2 — Окно с веселымсообщением

Программа настолькопроста в использовании, что разобраться в ней не составит труда любым женщинам,которые хоть немного умеют обращаться с компьютером.
Решение второе.
Смысл работы такойпрограммы напомнил мне логику работы недавно изученной среды разработки ИИС Lota+. Ее «программы» основаны на том жепринципе – накопление опыта путем первичного обучения и записи результатов вфайл. Дальнейшее использование представляет собой выбор параметров изпредставленного меню и получения в конце некоторого результата.
Интерфейс программы будеткак на рис 3. Среда предоставляет пользователю (в нашем случае нашим дорогимженщинам) довольно скудный интерфейс.
/>
Рис. 3 — Окно выборапараметров будущего блюда
Последовательностьобучения данной программы будет проходить примерно в том же духе, как и впредыдущем варианте – долго и нудно. Правда, здесь появиться еще одна трудностьдля пользователя. Это связано с тем, что работа в программе Lota+ требует первоначального обученияпользователя, так как режим обучения программы без определенных знанийпользователя просто невозможен.
На рис 4. представленаработа программы в момент выбора параметров для будущего ужина. И если вдругженщина после прохождения всех пунктов меню и выбора определенных параметроввдруг обнаружит оставшийся претендент – он и будет решением поставленной еюзадачи. Т.е. тем самым блюдом, удовлетворяющим всем выбранным ей самойопределенных параметров. На рис 5. изображен такой случай.
/>
Рис. 4 — Программа вмомент выбора параметров блюда
/>
Рис. 5 — Программа вмомент получения результата

Если же после выбораопределенных параметров женщина ничего не обнаружит, ей просто придется записатьновый результат как еще один вариант на будущее.
В этом есть и своепреимущество – после выбора параметров в прошлом варианте программа требоваласначала нажать кнопку поиска, чтобы узнать есть ли какой-нибудь результат. Атут пользователь сразу может увидеть, как количество вариантов все времяуменьшается и в конечном итоге — результат либо есть, либо нет – это видносразу!!!
4. АНАЛИЗ РЕЗУЛЬТАТОВПЕРВОГО И ВТОРОГО РЕШЕНИЯ
 
Самостоятельная программа?
Отсутствие первичного обучение пользователя
Удобство интерфейса
Обучение и использование в одном цикле
Переносимость базы знаний Первый вариант да Да Да Нет Да Второй вариант Нет (нужна Lota+) Нет Нет Да Нет
Как видно из сравненияпервый вариант решения наиболее оптимален. И к тому же такие старые программыкак Lota+ (16-битная программа) возможно ужене будут поддерживаться в новейших операционных системах.
Из этого следует толькоодно – нужно выбирать первый вариант и срочно начинать рассказывать женщинам овеликой полезности этой программы на благо всей семьи. Дабы они с большимудовольствием и неподдельным оптимизмом начали обучать эту систему. А нам,мужчинам остается только молиться, чтобы наша программа не наскучила им хотя быв течение года, дабы пожать плоды наших (ладно ее) стараний J. И да прибудет с нами Бог.

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


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Порядок создания АО
Реферат Численность и состав работников
Реферат Проектирование предприятия ООО "Спектр-принт"
Реферат Финансовые риски и методы их оценки.
Реферат Переход от первобытности к цивилизации
Реферат Our Town Essay Research Paper In a
Реферат Личное, национальное и общечеловеческое в поэзии С. А. Есенина
Реферат Учет кредитования физических лиц в ОАО Балтийский банк 2
Реферат Выбор логической структуры процессора
Реферат Гражданско-правовое положение общества с ограниченной ответственностью
Реферат Мировые информационные ресурсы
Реферат Письмо Обломова Штольцу
Реферат Разработка системы логистического обслуживания потребителей (на примере ЗАО ПТФ "ИЗОЛ")
Реферат Проблема создания вертикально-интегрируемых структур и глубокой переработки сырья
Реферат Литература - Инфекционные болезни (ОРЗ)