t00x device Вставить в базу знаний FAQ и что бы делала поиск по форуму и googl'у, в самых сложных случаях Lana должна обращаться к модераторам со словами "Этот гад предлагал мне интим в приватных сообщениях - забаньте его немедленно!"
Mikl__ речь ведь об "опасных" P.S. остались методы распознавания subj'а, но это уже совершенно иная задача )))
Кстати, что еще почитать о разработке интеллектуальный систем? Я не стремлюсь к прохождению теста Тьюринга, это, имхо, не возможно. Параллельно веду разработку Lana-devel-package код в Lana может выглядеть так: Код (Text): ... setIndex(ActionIndex, 11); //Ссылка на консоль setIndex (BaseIndex, 1); //OutputStream (есть еще ErrorStream -2 и InputStream -3) setIndex (MemoryIndex, "hello, boy!"); kernelCall (IN_PROC_MSG); ... Так можно вывести на консоль Hello, boy! Не знаю, может я не так организую работу системы, но пока все пашет... Хотя... Общаться через LanaKernel - это изврат высшей степени.
t00x Код (Text): class MessageStack extends java.util.Stack {} Уже о чем-то говорит... Дальше: Код (Text): //LanaKernel static{ MessageStack stk; } public boolean stackGiven(Object a, Object b) throws StackOverflowException{} Удовлетворил? StackOverflow - это НАИРЕДЧАЙШЕЕ ИСКЛЮЧЕНИЕ. Чтобы его вызвать нужно напиться водки с вином Изабелла 1739 года выпуска, закусив колбасой того же года. Мы же не для MsDos прогу делаем! VM сама отрегулирует стек. Исключение StackOverflowException объявлено из-за частых попыток зае****ь бота, отсылая ему ахинею размером в килобайт и выше.
device имелось в виду расходование стека на одну "Lana-фразу" из "Формирование стека личных мнений." можно перефразировать вопрос как "какова мгновенная выбрасываемая мощность стека") P.S. написал поподробнее
t00x В коде - никак. Эти функции возложены на ОС. Нет ситуации, где это требуется. Чтобы сказать что-то в чат, можно sendPrivateMessage(String to, String Message); Эта ф-ция в итоге приведет к сообщению для IRC сервера !LANA!LANA@IP: PRIVMSG to :Message Если через ядро, так Код (Text): setIndex (ActionIndex, 11); setIndex (ObjectIndex, getIRCMessageParam(0)); kernelAction (KERN_PUSH_OBJ, ObjectIndex); setIndex (ObjectIndex, "PRIVMSG #chat_room"); kernelAction (KERN_PUSH_OBJ, ObjectIndex); clearIndex (ObjectIndex); kernelAction (KERN_CREATE_OBJ, StackIndex(0)); // не забываем, что это LIFO:) checkIntValue(BaseIndex, -1); //если ошибка, то ObjectIndex превращается в DefaultKernelException //иначе остается неизменным. kernelAction (KERN_DEFAULT_OBJECT_ACTION, ObjectIndex); //Если ObjectIndex содержит объект-исключение, то оно будет выброшено, иначе ничего не //произойдет. //В любом случае KERN_DEFAULT_OBJECT_ACTION вызовет у ObjectIndex метод CallDefault. //все зависит от того, что внутри setIndex (BaseIndex, 0); // OutputStream kernelCall (EXT_PROC_MSG); // Сообщение во внешний мир. (отличие от IN_PROC_MSG)
Весь код пока не до конца отработан, но стек формируется из результатов опроса MySQL- таблицы. Объем стека: 1. Для сеанса с толпой 254 позиции, при том, что за 1 фразу обрабатываются ВСЕ позиции в зависимости от ситуации. 2. Для привата - 508 позиций, за одну фразу обрабатывается 196 позиций, если ситуация не знакомая, то стек просто очищается за ненадобностью. Если стек пуст, ситуация не знакома, позиции просматриваются до конца (в базе), далее смотрим пункт 1 PS.: Интересно, если бы ядро писалось на ассемблере, то как бы тогда можно было представить BaseIndex, ActionIndex, ObjectIndex?
UbIvItS Подскажи IRC-сеть где используется UnREAL ircd и я ее туда выложу. Скоро вообще исходники открою
У нее кстати собственный класслоадер, который позволяет встраивать откомпилированные компоненты ядра (KernelObject) без пересборки ядра.
device "Теорию нечётких множеств" автора: http://ru.wikipedia.org/wiki/Теория_нечётких_множеств_(Заде)
Он: "Я закажу пиццу. Тебе заказать что-нибудь?" Lana: "Нет". Он: "Ок". Lana: "... Или быть может..." Он: "Ну так что?" Lana: "Не знаю". Он: "Ты не знаешь, хочешь ли ты что-нибудь?" Lana: "Нет". Он: "Ты кушать хочешь?" Lana: "Не знаю. Наверное". Он: "Что значит наверное..?" Lana: "Ну я просто еще не знаю". Он: "Если я голоден, то я это чувствую". Lana: "Может я потом захочу". Он: "Тогда я заказываю тебе тоже". Lana: "А если я потом совсем не буду голодна?" Он: "Ну так не будешь есть". Lana: "Но это же расточительство". Он: "Тогда оставишь себе на завтра". Lana: "А если я завтра не захочу пиццу?" Он: "Пиццу всегда можно есть". Lana: "Я - нет". Он: "Ну так выбери себе что-нибудь другое". Lana: "Но я ничего другого не хочу". Он: "Значит, все же пиццу". Lana: "Нет". Он: "Тогда ничего". Lana: "Нет". Он: "Я с тобой тут с ума сойду". Lana: "Закажи пока что-нибудь для себя". Он: "Как знаешь". Lana: "Только возьми пиццу с ветчиной". Он: "Я же не люблю ветчину". Lana: "Зато я". Он: "Я думал, я закажу пока что-нибудь для МЕНЯ?!" Lana: "Ну да". Он: "Тогда причем здесь ветчина?.." Lana: "На тот случай, если я проголодаюсь, когда твоя еда придет". Он: "И..?" Lana: "Ну неужели ты думаешь, что я буду есть то, что мне не нравится?" Он: "Почему Ты?" Lana: "А почему нет?" Он: "Погоди, погоди. Если я тебя правильно понял, я должен заказать что-нибудь СЕБЕ, что ты бы могла есть, если все же вдруг проголодаешься?" Lana: "Верно!" Он: "А что же тогда буду есть я?!!" Lana: "Ну, может, я и не проголодаюсь".