Wednesday, November 26, 2008

Тест Тьюринга

Недавно исполнилось 71 год машине Тьюринга на которой в основном строятся все современные вычислительные машины.

Мои идеи к реализации решения этого теста методом Китайской комнаты. Решение которой только свидетельствует интеллекте создателя, а не машины.

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

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

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

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

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

Friday, November 21, 2008

4 встреча IT-talk

Побывал на 4 встрече It-talk. Опять не все смогли кто собирался прийти смогли прийти. Но те кто все-таки дошли остались довольны. Оба доклада были достаточно интересными. Особо понравилась идея из второго доклада: документация должна быть понятна всем без исключений.

Единственное, что омрачало это народу пришло много и не всем сразу нашлось место - не рассчитали...

Tuesday, November 4, 2008

Попугаи и Виста

Пояснение относительно попугаев: все помнят или не очень помнят мультик в котором проверяли сколько попугаев вмещается в одном удаве. Так вот похоже и в Висте производительность тоже меряется в попугаях (это во вкладке система в панели управления). После обновления версии BIOS на ноутбуке производительность рабочего стола Aero резко скакнула с 2.4 -> 3.0(20%). Что довольно таки необычно, так как в BIOS только инициализирует с минимальными работоспособными настройками видеокарту, и как я понимаю и для стандартных обновлений тайминги не должны резко изменяться. И как следствие в принципе на производительность должны в большей степени влиять обновления драйверов на видеокарту, так как они обновляются чаще и могут перенастроить видеокарту при запуске OC. Но с обновление драйверов производительность не изменялась, а как я думаю эта оценка достаточно нелинейна, чтобы немного подсластить переход на более новые версии аппаратуры(а значит немного более дорогие) - так как очень часто при серьёзной разнице в архитектуре - разница в производительности в некритичные моменты не очень отличается. Или что тоже возможно в биосе была какая-то досадная ошибка, что и приводила к не очень эффективной работе.

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

Ещё одно решение заключается в том что архитектура у моего ноута выглядит довольно неэффективно: видеокарта не имеет памяти на борту и берет её откусывая от системной . Поэтому так как в Висте(в отличии от XP) и Линуксе драйвера в теории уже могут сами перенастраивать распределение памяти для видеокарты, то я поставил минимально доступный объем в 32 метра(по умолчанию ставиться 256), чтобы операционная система сама могла решать сколько памяти нужно и столько при потребности откусить. Но мне кажется память на видокарте хотя бы в виде кеша все таки есть - то без неё получается ZX-Specrum - где памяти под видео отдельно как таковой не было и с синхроимпульсом останавливался процессор и из памяти бралась значение цвета для точки. Что не особо положительно влияло на производительность, но зато дёшево. При этом в отличие от выше указанной архитектуры довольно популярной для интегрированных видеокарт, тут есть маленькая особенность: у всех процессоров с интегрированным контроллером памяти в процессоре получается, что для того чтобы получить доступ к памяти, нужно попросить у процессора её переслать, так как непосредственно доступ к памяти получить не удастся, как это было при работе через северный мост.

В общем архитектура UMA во всех своей красе. Зато хорошо подходит для маркетинга - так как через PCIE можно получать доступ к памяти, можно сказать, что у видокарты нет непосредственных ограничений на объем памяти. В AGP, как я помню, можно было получить не более 256 метров и только под текструры. На аппаратном уровне я думаю это решалось достаточно просто скрывая при работе от процессора некоторый объем памяти и на все запросы от интегрированной видеокарты давать доступ к этому участку. Во общем все хорошо - но гонять данные при выводе картинки через процессор звучит не очень хорошо, поэтому думаю что есть все таки маленький кеш в котором и кешируються данные под вывод(framebuffer). В версиях описания архитектуры к более поздним моделям(общей архитектуры системы, а не видиокарты) там было под эти нужды 512Мбит. И этого объема вполне хватит на отрисовку и хранение. Более точных данных я не нашёл.

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

Monday, November 3, 2008

Windows Seven?

Этот пост навеян постом в блоге Sleepless in Seattle. Хотя не только им, скорее общим субъективным мнением о новой ОС от Microsoft. Именно Субъективным!!!

Многие посты, что я видел, оставили у меня впечатление, что все ожидают от новой ос чего то особенного и желания от ранее указанной корпорации выпустить что-то особо новое, что удивит мир. Но у меня сложилось немного другое мнения читая блог Команды разработки Windows 7. Хотя, все это в любом случае PR.

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

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

Единственно, что не понравилось в презентации, что удалили как таковую панель на которой отображается список запущенных программ. Да красиво, что теперь программы не просто группируются, но и показывается превьюшка для открытых программ и при клике можно сразу открыть конкретное окно. Но просто по списку иконок невозможно сразу понять какие программы сейчас запущены. Я примерно таким способом настроил у себя под XFCE менюшки заменив нижнюю на cairo-dock. Удобно, но не не всегда практично и отказаться от верхнего списка запущенных программ я всё таки не могу. Спец-эффекты в виде прозрачности(в XFCE) я использую, но с минимумом на запуск - просто сделал чтобы окна при передвижении и в фоне были прозрачными - очень удобно и даже немного прикольно, но зачем все эти эффекты при запуске? Только тормозишь работу.

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

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

На популярный вопрос почему не снёс Висту, остается ответ, что если выключить все лишние эффекты и не обращать внимание на иногда назойливые вопросы: вы уверены? и именно вы запустили эту программу? - особой разницы между ХР и Вистой нет. А Виста лицензионная и дрова под неё на все устройства есть - причин для смены особо нет.