Corwin
>Как мы видим из этого примера, знания могут быть и алгоритмом и данными.
Не вижу ничего кроме набора букв - данных.
>Все входные параметры правильные
Утверждение "Все птицы умеют летать" ошибочно. Кроме пингвинуо веть еще и киви и страусы и даже куры.
Я ведь не зря заостряю внимание на вопросе алгоритм/данные. Вот идея 8 из все того же "35. ИИ":
8. Педагогический абзац.
Поскольку обучение человека - это результат перестройки структуры ЛД его vM,
то обучение тем эффективнее, быстрее и понятнее, чем ближе форма подаваемого
материала соответствует уже имеющийся структуре ЛД. Структура ЛД формируется
в результате думанья. Люди интеллектуального труда больше всего думают на
работе (по времени занимающую лучшую часть жизни), следовательно профессия
накладывает существенный отпечаток на образ мышления человека ("программист
это не специальность - это диагноз"). И следовательно лучшим преподавателем
будет тот, кто сам хорошо знаком с данной профессией.
а) Чем знания отличаются от данных
Сперва отвечающие, как правило, начинают грузить доводами что-де знания -
это как бы структурированные данные. А им в ответ: "структура данных -
тоже данные, стало быть данные+данные=знания? Выходит что 1 бит - это
данные, а 2 уже знания. Абсурд этого утверждения очевиден". Если скажут
что тут замешан алгоритм, то опять: "алгоритм - это данные на диске!".
И потом если знания и данные одно и тоже то зачем два названия.
Сильнейшая подсказка N1 для понимания отличия данных от знаний: движение
(планет на орбите) можно описать (промоделировать, создать образ и т.п.)
только через другое движение (электрического тока в нейронах мозга,
концентрации нейромедиаторов и т.п.), но не через данные (книга по
астрономии). К сожалению эту подсказку нельзя было помещать в ИТ, т.к. она
нестрогая (что есть движение?, объект 2-го порядка существует и в случае
если объект 1-го не меняет своего состояния) и потом ее желательно
использовать только после того как сам инструктируемый ИТ поставит
подходящий пример (его можно натолкнуть на это).
Не такая сильная подсказка N2, но оптимизированная для ООП-программистов:
знания это примерный аналог понятия объекта в ООП (данные-свойства +
обрабатывающие их алгоритмы-методы), но в физической реальности. Например
объект-камень имеет свойства: масса, скорость и т.д. и методы: гравитация
(в результате камень падает на землю), коэффициент отражения поверхности
для разных участков спектра (камень имеет цвет) и т.п.. Для работы
подобных физических объектов не надо ни компьютеров, ни операционных
систем. Далее. Работа ООП-программы, например в Windows, немыслима без ее
"общения" с другими программами. Например скопированная в Excel таблица
при ее вставке в Word воспринимается именно как таблица, а не что-то иное.
Так же и в физической реальности: гравитационное поле воспринимается всеми
обладающими массой объектами совершенно "корректно". Вот вам и
универсальный, независящий от свойств какого-либо наблюдателя, интерфейс.
В этом еще одно принципиальное отличие знаний от данных: данные можно
проинтерпретировать как вздумается, а знания уже несут сами в себе свою
интерпретацию.
Любопытная справка: изначально методология ООП и разрабатывалась как
наиболее приближенная к реальности нежели процедурное программирование.
Еще одна подсказка N3 философам: субъективность данных в том что их можно
интерпретировать произвольным образом, содержимое же знаний не должно
зависеть от наблюдателя (интересная ссылка в этой связи:
http://andnikol.h10.ru/infa.htm ). Где именно в мозге хранятся знания?
В потенциале нервного напряжения, в концентрации нейромедиатора, в форме
извилин? Нет. Это все данные. Знания в процессе изменения напряжения,
концентрации и формы. Таким образом, данные - это как бы производная
знаний по времени. Мгновенная копия состояния знаний. Знания - это функция
Y=f(X). И если по отдельности значения X и Y можно проинтерпретировать
произвольным образом, то вот совместное рассмотрение динамики изменений X
и Y, корреляция X на Y (либо Y на X) всегда однозначна для любого
наблюдателя. Это и есть математическая модель знаний.
Что у нас в натуре, то бишь в реальной физике? А то, что для реализации в
ИИ знаний уже мало дискет на которой можно записать данные. Должен
присутствовать интерпретатор. Физически интерпретирующий одни данные и
переводящий другие данные в определенное состояние. Таким интерпретатором
служит железо компьютера. Такой интерпретатор и наш мозг. Потому-то знания
и нельзя записать на дискету.
Если знания - физический процесс, то значит и взаимодействие знаний -
взаимодействие процессов на физическом уровне (не логическом!). Это
напоминает работу аналоговой ЭВМ. Поэтому для объединения/разъединения
знаний их не нужно "понимать"! Этим исключается еще один камень
преткновения создателей ИИ (кроме лабиринта решений) - субъектность (т.е.
наличие в голове ИИ нечто, "понимающего" знания о внешнем мире (а внутри
этого нечто - соответственно еще одно вложенное нечто и т.д. до
бесконечности)).
И если программа работает с данными, то ИИ работает со знаниями.
б)"Некомпьютерный ИИ" или почему для ИИ определенно необходим нанотех.
Рассмотрим современный персональный компьютер, решающий какую-нибудь
задачу. На компьютере установлено разнообразное ПО: операционная система,
множество прикладных программ и конкретно та программа, что в данный момент
решает нужную нам задачу y=f(x). Компьютер состоит из процессора, памяти,
жесткого диска, монитора и других частей. Можно ли сделать ИИ на таком
компьютере? ИТ не запрещает создание ИИ на компьютере. Компьютер это часть
реального мира и автоматически наследует всё необходимое для создания ИИ.
Но ИИ на современных компьютерах - это неэффективное решение (получится
примерно тоже самое что при численном моделировании ядерного взрыва, т.е.
очень долго).
Нужно распараллеливание, а для этого - миллиарды, триллионы процессоров!
При помощи нанотехнологий мы уменьшим процессоры до минимально возможного
предела, убрав всё лишнее (клавиатуру, монитор, операционную систему и все
посторонние программы): каждый процессор будет решать только свою задачу
- аппаратная реализация функции y=f(x). Каждый процессор несет свое знание
- объект 2-го порядка. Поэтому вполне возможно что одна макромолекула будет
играть роль такого "процессора". Изменение логики работы достигается не
изменением софта как сейчас, а преобразованием структуры этих молекул.
В результате изменяется логика функции y=f(x) - аналог аналоговой ЭВМ.
в) Важную деталь, которая возможно даст понимание.
Внутренний мир ИИ - это не математическое, а НАТУРНОЕ моделирование
внешнего мира (например модель самолета из клуба юных техников). Поэтому
такая модель открыта для изменений со стороны внешней среды: физическая
коррекция параметров (погнули например крыло у модели самолета) сразу же
вызывает изменение всей логики работы внутреннего мира. Но так как любое
изменение есть процесс - объект 2-го порядка, знания, то стало быть такого
рода изменения есть ни что иное как закачка априорно неизвестных знаний в
ИИ в процессе его работы. В этом коренное отличие от классического ИИ,
который целиком и полностью погружен в виртуальную оболочку и потому не
может работать с тем, что не было предусмотрено его создателями.
Дополнительное пояснение специально для программистов: предположим что мы
создали фантастическую программу, моделирующую весь мир. Внутри программы
можно создать новые объекты и они корректно воспримутся остальной частью
программы, т.к. созданы по заранее оговоренным правилам виртуального мира.
Но программа не может воспринять объекты реального мира, если только
программист не заведет это соответствие. Но ведь нельзя же постоянно быть
рядом в качестве посредника между реальностью и виртуальностью и заводить
все новые данные! А теперь посмотрим на наш мир, он - программа. Роль
процедур играют законы природы и их следствия, а роль данных - сколько кг.
весит камень, какова его скорость и т.д.. Нам не надо что-то виртуально
моделировать, достаточно аппаратно воспользоваться тем, что уже есть.
>Почему невозможно? Моя схема начинает переориентироваться как раз на тот вариант, что возможна, и только так и происходит.
В вашей схеме используется влияние внешней среды?