НА ГЛАВНУЮ

Мой личный профиль Приколы нашей школы Штирлиц пошел на скачки... и надавал по морде сантехникам, ковырявшимся в дренажном канале! Листинг проги для ламеров: 10 goto 10 Куплю уран-235 подешевке!!! Биология, генетика, философия и т.д. Самый короткий анекдот: PKUNZIP.ZIP

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

С/С++

Паскаль

А теперь давайте поговорим о нерешенных задачах в области программирования на сегодняшний день. Точнее о двух самых известных из них: создание трехмерного интерфейса программ и создание программ с AI. Создание программ и операционных систем с трехмерным графическим интерфейсом затруднено не сколько аппаратными возможностями, сколько финансоемкостью проекта. Дело в том, что для разработки, скажем трехмерной операционки нужен новый движок, совершенно не такой, как в играх. А программисты, специализирующиеся на разработке операционок и интерфейсом к ним не имеют опыта в написании графдвижков. Разработчики движков напротив, никогда не сталкивались с разработкой ОС. Следовательно, первая трехмерная операционка будет создана или какой-нибудь авторитетной компанией, у которой хватит бабла нанять и тех и других, либо группой энтузиастов. Тут сразу можно вспомнить о Мелкомягких и об многочисленных ЮНИКС-программистах, разрабатывающих программы в виде свободно распространяемых исходников. (эти двапротивостоящих "лагеря" наиболее подпадают под определения). Но Микрософт не заинтересована в разработке такой ОС (Билли еще от форточек далеко не все бабки сгреб! :) Да и архитектура производимых Микрософтом продуктов не позволяет вот так просто взять и переделать (их устраивает все откуда-нибудь с%№;%ть). Коллективами же юниксоидов уже делаются первые попытки в разработке. Благо в никсах можно все перекодить, было бы настроение :) Отсюда можно сделать вывод, что первой ОС с трехмерным интерфейсом будет Линукс с трехмерной графической оболочкой. Стоит также заметить, что трехмерный интерфейс имеет чисто эстетическое назначение. При переходе ОСей на трехмерку их функциональность снизится, но возрастет удобство пользования. А уж применение 3D в сетевых технологиях откроет неограниченные возможности общения людей по всему миру. Возьмем к примеру обычную аську и игрушку Симс. Разработчики последней обещают в следующих модификациях встроить аську в свою игру и сделать как-бы своего рода "жизнь он-лайн", где каждый юнит в игре управляется реальным человеком, а общение между всеми юнитами происходит с помощью службы icq. Вот вам уже своего рода аська с полноценным графическим интерфейсом вместо текстовых сообщений.
А теперь об AI. Самыми первыми научно подтвердили возможность создания искуственного интеллекта американские математики в 60-х годах. С тех пор и по сегодняшний день разными научными коллективами ведутся работы по его созданию. Основная проблема создания AI состоит в нелогичности интеллекта. Именно поэтому одна из основных частей современных программ с AI -- генератор случайных чисел. Так как числа, полученные с помощью обычных программных генераторов все же имеют некоторую закономерность, в профессиональных системах применяются аппаратные генераторы случайных чисел, в которых генерация основана на физических процессах, например делении ядер цезия. Программные генераторы случайных чисел берут в качестве основы состояние бортовых часов компа, координаты мышки, содержимое определенной ячейки памяти, в которой оно быстро и относительно непредсказуемо меняется, напр. содержимое регистров процессора. Наиболее тупые генераторы спрашивают число у пользователя. Такие генераторы применяются только в некоторых старых компиляторах Бейсика и С. Другая не мене важная часть -- это алгоритм анализа вводимой информации. Ведь т.к. система с искусственным интеллектом, то и вводимая в не информация будет совершенно другой, нежели обычные команды. Напр. вместо команды FORMAT C: будет дана такая -- "отформатируй, пожалуйста диск Ц". Из этой фразы нужно выделить ключевые слова, такие как "формат" и "Ц". Причем нужно предусмотреть все случаи. Для этого программе понадобится база данных, с продвинутой системой СУБД. Программа будет как бы обучаться, накапливая информацию в базе. Обучать ее будет или ее создатель или пользователь в процессе работы (самообучающиеся системы). В базе должны будут храниться образцы информации, которая с некоторой вероятностью будет вводиться в программу пользователем или другой программой. С целью экономии места на диске и в памяти рекомендуется предусмотреть функцию забывания. Т.е. если конкретная запись в базе долго не используется и ее важность не велика (в базе также должна храниться степень важности инфы), то запись затирается. Для каждой записи в базе должен быть предусмотрен ответ (как же без того), причем для одной записи может быть несколько ответов и для одного ответа может быть несколько записей. В таком случае конкретный ответ, выдаваемый программмой определяется генератором случайных чисел (на то он там и нужен). В списке возможных ответов должны будут присутствовать как адекватные, так и неадекватные (обматерили прогу, а она винду затерла -- тоже обижается, типа :) Большой недостаток современных программ с AI в том, что они просто бездействуют, когда в них не вводят информацию. Программа с AI должна в таких случаях выводить что-нибудь через случайные (причем все сокращающиеся) промежутки времени, а затем сами закрываться (типа "Вы там что, заснули все?! Эй!... Блин, молчат! Ладно, и я пойду дрыхнуть..." :) В случае применения в таких программах "нечеткой логики" или "Fussy logic" нужно все грамотно рассчитывать, учитывая не только ключевые слова вроде "Громко, тихо, тепло, горячо, холодно, близко, далеко, очень далеко" и т.д., но еще и диапазон, относительно которого все это применяется. Например если ввести в программу сведения, что Владивосток находится от Москвы далеко, а Луна -- самое близкое к Земле космическое тело, то на вопрос "что ближе? Луна или Владивосток" программа даст ответ "Луна" :) Следовательно нужно предусмотреть в базе (в ней вообще много чего придется предусмотреть...) категории предметов, и отнести слова "Владивосток" и "Москва" к категории "города" а слово "Луна" к категории "космос", затем проставить свойства категорий "города" и "космос", создать параметр "размерность" и выставить его у "космоса" больше, чем у "городов". Вообще в базе кроме словаря фраз нужно сделать словарь отдельных слов, рассовать их по категориям и проставить дополнительные сведения по каждому слову. Также необходимо сделать так, чтобы при вводе фразы с незнакомыми словами программа спрашивала значение и отдельных незнакомых слов и фразы в целом. И не обламывайтесь, когда в процессе работы программа будет постоянно задавать вопросы. Вспомните соответствующую фазу развития ребенка, когда у него начинает развиваться интеллект. Сплошные вопросы, на которые приходится отвечать.
Вот, кстати лирическое отступление по теме:
Приходит Киркоров (Децл, Крестов -- опционально) к создателям Нус AI (это самая продвинутая система AI в качестве бота для чатов на сегодняшний день) и говорит:
--Вот вы тут искусственный интеллект придумали, а можете сделать так, чтобы ваша программа мне песни писала? Я вам за это кучу бабла отвалю, и все такое...
--Нет, наша программа хотя и с искусственным интеллектом, но не сможет написать песню.
--Ну, все ясно, не сможет написать. Ведь все-таки искусственный...
--Нет, потому что все-таки интеллект!..
(Я удивляюсь, как создатели НУСа ему морду не набили за то, что вырубается :)

Сайт создан в системе uCoz