ВС:Бухгалтерия 6.3 Печенье с предсказаниями fortune-cookies ru п... (от Печенье с предсказаниями)
Компьютерная наука
Компьютерные науки — это ядро теоретически» и практических энакий. которые используют в своей работе специалисты в области вычислительной техники, про- граммирования, информационных систем и технологий. Как научная дисциплина компьютерные науки возникли в начале 40-х годов XX века в результате слияния теории алгоритмов и математической логики, а также изобретения электронных вы- числительных машин. На протяжении полувековой истории компьютерных наук не- однократно возникали и исчезали те или иные направления. Но одним нз наиболее важных разделов компьютерных наук остается теория, анализ, разработка, оценка эффективности, реализация и практическое применение алгоритмов. Чтобы применять основные результаты исследований в области компьютер- ных наук, необходимо обладать навыками в четырех основных направлениях: алгоритмическое мышление, представление информации, программирование и проектирование систем. Предметная область компьютерных наук в целом может быть разделена на две обширные подобласти. Первая из них включает изучение конкретных процессов обработки информации и связанные с ними вопросы представления данных. Вторая имеет отношение к структурам, механизмам и схемам обработки информации. Важнейшая цель обучения компьютерным наукам состоит в том, чтобы четко понимать отношения, существующие между прикладными приложениями н компьютерными системами. Компьютерные приложения делятся на две катего- рии: числовые п нечисловые. В числовых приложениях доминирующими явля- ются математические модели н числовые данные. В нечисловых приложениях информация представляется в виде символов п правил. Традиционно компью- терные науки имеют более тесные связи с математикой. Со своей стороны, ком- пьютерные иауки оказывают сильное влияние на математику. II нлетоящес время в области компьютерных наук обычно выделяют дпенп- дцвть основных разделов. ■ Алгоритмы и структуры данных. Раздел теории алгоритмов включает тео- рию вычислимости, теорию вычислительной сложности, теорию парал- лельных вычислений (программирование параллельных процессов), тео- рию дедуктивных и реляционных баа данных, теорию распознавания обра- зов, теорию алгоритмов, криптографию и многие аругне направления. ■ Языки программирования. Этот раздел компьютерных наук изучает системы обозначений, пред назначен иых для выполнения алгоритмов на виртуальных машинах, в также способы формальной записи самих алгоритмов и длимых. Венцом достижении разработчиков стали программы, которые получают опи- сание языка и автоматически создают компилятор для перевода программ с этого языка на машинный язык (например, программы YACC и LEX). ■ Архитектура компьютеров. Раздел теории архитектуры компьютеров включает цифровую логику, булеву алгебру, теорию кодирования и теорию конечных автоматов.
К наиболее значительным достижениям в этой области компьютерных наук относятся модули выполнения арифметиче- ских операций, кэшпамять, так называемые машины фок Неймана, RISC- компьютеры я CISC-компьютеры. Были разработаны аффективные методы записи и хранения информации. » также методы обнаружения и исправ- ления ошибок, включая средства восстановления после отказов. ■ Операционные системы и компьютерные сети. Этот раздел компьютерных наук связан с исследованиями механизмов управления, позволяющих эф- фективно координировать работу большого количества вычислительных ресурсов при проведении вычислений, распределенных по многочисленным компьютерным системам, объединенным в глобальные и локальные сети. ■ Разработка программного обеспечения Данный раздел компьютерных наук связан с созданием больших программных систем, которые должны удовле- творять заданным программным спецификациям, быть безопасными, защи- щенными, надежными и заслуяшвающнмк доверия пользователей. ■ Базы данных и информационно-поисковые системы. Этот раздел компью- терных наук связан с организацией больших наборов постоянно сохраняе- мых н совместно используемых данных, допускающих их обновление и обеспечивающих эффективное выполнение запросов. Для изучения н раз- работки баз данных и информационно-поисковых систем применяются ре- ляционная алгебра и реляционное исчисление, теория параллельной обра- ботки данных, выполняемых с помощью транзакций. ■ Искусственный интеллект и робототехника. Данный раздел компьютерных наук включает моделирование процессов познания мира животными и челове- ком с конечной целью создания компонентов машин, способных имитировать или усиливать их. Основные объекты изучения в этой области включают рас поинаааниг сенсорных сигналов, звуков, изображений н образов, обучение. Процессы рассуждения при решении задач и планирования, а также помимо иие языков. Разработаны основные принципы проектирования систем искус- стве иного интеллекта: логическое программирование; экспертные системы; методы и средства представления, хранения и использования знаний; при- кладные системы, испачыующие естественный язык; синтезаторы речи и сис- темы рас!юзиаваяия речи; роботы: генетические алгоритмы. ■ Компьютерная графика. Компьютерная графика связана с процессами ви- зуального представления реальных и виртуальных объектов, в также ими- тации их движений на двухмерном экране компьютера или в трехмерной голограмме. Она опирается на вычислительную геометрию и многие другое области науки. ■ Взаимодействие человека и компьютера. Эта область компьютерных наук научает вопросы эффективной координации действий и передачи инфор- мации между людьми и машинами (пользовательский интерфейс) с помо- щью различных датчиков и устройств, имитирующих деятельность человека,
■ ТВКЖС информационные структуры, которые отражают человече» ские представления об окружающем мире ■ Вычислительная математика. Эта область хомпыотериых наук связана с проведением научных исследования, которые невозможно выполнить без высокопроизводительных вычислений и обмена данными. ■ Дааовая ниформаткиа. Данная область компьютерных наук изучает во- просы обмена информацией и создания программных систем, обеспечи- вающих работу организаций и координацию действий их сотрудников. ■ Биояяформатмкн. Эта новейшая область компьютерных наук возникла в результате тесного взаимодействия вычислительной математики и биоло- гических наук. Наиболее перспективные направления развития компьютерных наук связы- ваются с вычислительной математикой, теорией познания, библиотековедением, деловой информатикой, бн о информатикой, организацией и управлением про- мышленным производством. архитектурой. Стать специалистом по современным информационным технологиям возмож- но только при условии комплексного изучения всех составных частей компью- терных наук. Прекрасным введением и хорошим источником информации о со- временном состоянии компьютерных наук является эта книга, представляющая собой популярный в США учебник для студентов высших учебных заведений и тех. кто занимается самообразованием.
Таким образом, важнейшая задача всей области компьютерных наук — это разработка алгоритмов, поэтому существенная часть рассматриваемых этими науками вопросов касается тех или иных аспектов дайной задачи. Следователь- но, мы можем получить достаточно глубокие знания в области компьютерных наук только путем изучения свойств алгоритмов. Одни из важных аспектов, ка- сающийся вопроса о том. как алгоритмы разрабатываются впервые, тесно связан с общей проблемой решения задач. Поиск алгоритма решения задачи в сущности состоит в нахождении способа ее решения. Из этого следует, что исследования в этой области компьютерных наук обязательно должны строиться на достижени- ях в таких областях знания, как психология решения проблем и теория обуче- ния. С некоторыми идеями из этих областей мы познакомимся в главе 4. После того как алгоритм решения задачи будет найден, необходимо предста- вить его в такой форме, которая может быть воспринята машиной или другим человеком. Это означает, что мы должны преобразовать найденную алгоритми- ческую концепцию в четкий набор инструкций, представленных в форме, ис- ключающей всякую неоднозначность. Проводимые по этому поводу исследова- ния основывались ив наших знаниях в области языка и грамматики и привели к созданию множества схем представления алгоритмов, известных как языки про- граммирования. В различных языках используются разные подходы к процессу программирования, иначе называемые парадигмами программирования. Некото- рые ив этих языков программирования и те парадигмы, ив основе которых оин построены., будут рассмотрены в главе б. Раврвботка больших систем программного обеспечения предусматривает нечто болынсе, чем просто определеиие независимых алгоритмов выполнения необхо- димых действий. Дополнительно требуется разработать схему взаимодействия отдельных компонентов системы. В результате трудности, с которыми приходит- ся сталкиваться при разработке больших систем программного обеспечения, существенно превосходят те, которые имеют место при разработке небольших программ. Повтому в компьютерны ж науках существует отдельная обширная прикладная область исследования, назначение которой состоит в поиске инструмен- тов для решения указанных проблем. Эта область компьютерных наук, именуе- мая технологией разработки программного обеспечения, на сегодняшний объединяет достижения различных сфер знания, таких как инженерное искусст- во, управление проектами, управление персоналом, а также разработка языков программирования. Тан как наше общество становится все более зависимым от больших программных систем, возрастает и необходимость совершенствования инструментов и методов программирования. Поэтому вопросы технологии разра- ботки программного обеспечения являются важнейшим направлением в совре- менных исследованиях.
Другой, не менее важной задачей компьютерных наук является разработка и конструирование машин. Подробно зга тема рассматривается в главах 1 и 2. Хотя приведенное здесь описание архитектуры вычислительной машины включает обсуж- дение некоторых технических вопросов, автор не ставил своей целью летальное ос- вещение методов реализации современной компьютерной архитектуры в виде элек- тронных схем. В противном случае потребовалось бы слишком углубиться в предмет электроники. Более того, аналогично механическим калькуляторам, которые усту- пили место электронным устройствам, современные электронные устройства могут быть со временем заменены продуктами иных технологий, среди которых гллвныЛ кандидат — оптика. Наша цель состоит в получении знаний в области современных технологий, необходимых для правильной оценки их влияния на современные ма- шины, а также на развитие компьютерных наук. Конечно, хотелось, чтобы архитектура вычислительных машин определялась ис- ключительно нашими знаниями об алгоритмических процессах и не ограничивалась возможностями существующих технологий. Другими словами, вместо того чтобы по- зволять существующим технологиям определять принципы построения машин н. следовательно, способы представления алгоритмов, нам бы хотелось, чтобы сущест- вующие знания об алгоритмах стали той силой, которая устанавливала бы требова- иия к современной архитектуре машин. По мере совершенствования технологий эта мечта становится все более реальной. На сегодняшний день стало возможным созда- вать машины, которые воспринимают алгоритмы, выраженные в виде нескольких последовательностей команд, выполняемых одновременно. В другом варианте они представляются как схемы соединений между многочисленными обрабатывающими устройствами, что очень похоже на то, как наш мозг представляет информацию в виде связей между нейронами (глава 10) Вше один контекст, в котором мы рассмотрим архитектуру вычислительных машин, связан с храпением и поиском данных. Здесь внутренние свойства ма- шин часто отражаются в их внешних характеристиках. Сами эти свойства, в также способы, позволяющие избежать их нежелательного влияния, обсуждают- ся в главах 1, 7, В и 11. С конструированием вычислительной техники тесно связаны проблемы разра- ботки интерфейса между машиной н внешним миром. Например, как алгоритмы будут вводиться в машину и как указать машине, какой алгоритм следует выполнить?
Решение этих задач в окружении, предполагающем) предоставление машиной множества различных услуг, требует разрешения многих проблем, включая координацию действий и распределение ресурсов. Некоторые из таких решений будут рассмотрены в главе Я, посвящеииой операционным системам. По мере того как от машин требовалось выполнение все более и более интеллек- туальных заданий, в области компьютерных наук выделилось направление изучения (кобеиностей человеческого разума. Цель исследований состояла в том, что после выявления механизмов, позволяющих нашему мозгу рассуждать и познавать, можно будет разработать алгоритмы, имитирующие эти процессы, и, таким образом, пере- дать эти возможности машинам. Эта новая область компьютерных наук, именуемая теорией искусственного интеллекта, в значительной степени основывается на дости- жениях таких наук, как психология, биология и лингвистика. Некоторые аспекты теории искусственного интеллекта обсуждаются в главе 10. Поиски алгоритмов решения все более сложных задач сделали актуальными ис- следования в области предельных ограничений самих процессов алгоритмизации. Если не существует алгоритма выполнения задания, то это задание не может быть выполнено машиной. Говорят, что задача, решение которой может быть описано с помощью алгоритма, является алгоритмической. Из этого определения следует, что машины способны выполнять только алтоенггмичесхие задания. Такое понятие, как «алгоритмические задачи, появилось в математике в на- чале двадцатого века после доказательства теоремы Курта Геделя о неполноте. Коротко говоря, эта теореме утверждает, что в любой математической теории, которая охватывает Традиционную арифметическую систему, существуют утвер- ждения, которые невозможно ни доказать, ни опровергнуть. В результате любое полное изучение нашей арифметической системы выходит за пределы возможно- стей алгоритмических действий. Стремление исследовать своисгвеииьь? алгоритмическим методам ограничения, вытекающие из сделанного Геделем открытия, привело математиков к разработке понятия абстрактных машин, предназначенных для выполнения алгоритмов, и изу- чению теоретических возможностей этих гипотетических машин. (Это было еще до того, как технология позволила создать действующие машины для проведения по- добных исследований.) В настоящее время результаты подобных исследований алгоритмов и машин представляют теоретические основы компьютерных наук.
Дата публикации: 22.10.2014 (просмотров: 8042) Обсудить Компьютерная наука на форуме.
Оставьте Ваш комментарий или мнение о новости: Компьютерная наука Просим Вас оставлять сообщения по теме и уважать своих собеседников и авторов новостного сообщения.