1. Ну а если я в словарь добавляю новое слово? Допустим читаю слова с сервера и последовательно их добавляю.
2. Ну по одному символу вы не определите совпадают строки или нет, все-равно же придется сканировать оставшуюся часть строки, после того как вы определили поддерево по префиксу. Просто в вашем случае это делает regexp движок.
1. добавление новой строки, вроде как, имеет сложность не меньше чем C*N, где N — размер слова, что в любом медленнее чем добавление в сбалансированное дерево (logN).
2. количество проверок для бинарного дерева logN, это точно, но ведь у вас же тоже строки должны сравниваться тем же regexp'ом на равенство. Это ведь будет не меньше чем N.
имхо дерево будет таки быстрее. но подход интересный.
Если ваш сайт кто-нибудь сломает и получит все пароли открытым текстом — он спокойно сможет этим воспользоваться и зайти на сайт под любым пользователем, если же получит хеши, то для получения пароля придется попотеть )
Кто вам сказал, что для перевода нужно сознание? Хорошо, пусть для перевода нужно понимание текста (что само по себе не обязательно) — но зачем для понимания сознание?
Не могу согласиться, для перевода, понимание необходимо. Без него вы получаете то, что делают сейчас системы машинного перевода.
Понимание — это выстраивание некоторой цепочки абстракций согласно тексту
Если язык формален, как к примеру языки программирования — то да. Логических цепочек вполне достаточно. Хотя даже в этом случае я бы не стал говорить, что компилятор именно понимает язык программирования а не выполняет над ним механические преобразования (хотя цепочки он выстраивает конечно же).
В случае понимания естественного языка, мне кажется необходимо нечто большее чем выстраивание лог. цепочек.
Если сознание — это только понимание факта своего существование, тогда да — оно не так уж и важно. Но мне кажется, что понимание и сознания два тесно связанных между собою понятия.
Способность общаться с человеком на равных без сознания не возможна, т.к. человеческий язык строился изначально сущностями обладающими сознанием (т.е. людьми), исходя из этого не возможен и сравнимый по качеству с человеческим машинный перевод текстов (все по той же причине, что полное понимание языка требует сознания).
Если мы хотим добиться этих целей, то получается, что сознание не является свойством, которое просто появляется само собой у людей и не имеет никакой ценности в отношении машин обладающих интеллектом.
Кроме того, на самом деле, сознание — это своего рода фетиш техноэпохи, попытка допрыгнуть до Б-га. По факту, сознание у машины — вещь строго утилитарная, и, в общем-то, ненужная. Главное для любой машины — максимально эффективно выполнять работу, и чем меньше она при этом будет задумываться над смыслом бытия — тем лучше.
Вообще, на сколько я понимаю, существует множество задач, в которых максимально эффективное выполнение работы связано с наличием интеллекта, например: перевод текстов, общение с человеком на естественном языке и т.д. Поэтому, как мне кажется, ИИ вещь очень даже практически полезная.
А есть ли где-нибудь решения задач предложенных в книге?
2. опять же, если слова будут достаточно большой длинны, то работать это будет медленнее бинарного поиска.
2. Ну по одному символу вы не определите совпадают строки или нет, все-равно же придется сканировать оставшуюся часть строки, после того как вы определили поддерево по префиксу. Просто в вашем случае это делает regexp движок.
1. добавление новой строки, вроде как, имеет сложность не меньше чем C*N, где N — размер слова, что в любом медленнее чем добавление в сбалансированное дерево (logN).
2. количество проверок для бинарного дерева logN, это точно, но ведь у вас же тоже строки должны сравниваться тем же regexp'ом на равенство. Это ведь будет не меньше чем N.
имхо дерево будет таки быстрее. но подход интересный.
Тут, кажется, ошибка вкралась, должно быть: «Вершина один… » во втором предложении.
Но на самом деле прикольно конечно. Техника не стоит на месте ни секунды.
Не могу согласиться, для перевода, понимание необходимо. Без него вы получаете то, что делают сейчас системы машинного перевода.
Если язык формален, как к примеру языки программирования — то да. Логических цепочек вполне достаточно. Хотя даже в этом случае я бы не стал говорить, что компилятор именно понимает язык программирования а не выполняет над ним механические преобразования (хотя цепочки он выстраивает конечно же).
В случае понимания естественного языка, мне кажется необходимо нечто большее чем выстраивание лог. цепочек.
Если сознание — это только понимание факта своего существование, тогда да — оно не так уж и важно. Но мне кажется, что понимание и сознания два тесно связанных между собою понятия.
Способность общаться с человеком на равных без сознания не возможна, т.к. человеческий язык строился изначально сущностями обладающими сознанием (т.е. людьми), исходя из этого не возможен и сравнимый по качеству с человеческим машинный перевод текстов (все по той же причине, что полное понимание языка требует сознания).
Если мы хотим добиться этих целей, то получается, что сознание не является свойством, которое просто появляется само собой у людей и не имеет никакой ценности в отношении машин обладающих интеллектом.
Вообще, на сколько я понимаю, существует множество задач, в которых максимально эффективное выполнение работы связано с наличием интеллекта, например: перевод текстов, общение с человеком на естественном языке и т.д. Поэтому, как мне кажется, ИИ вещь очень даже практически полезная.
Возможно мне это удалось не очень хорошо.