информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителяСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
И все таки 20.09.01 18:00  Число просмотров: 893
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> > Я думаю что когда наш гипотетический шахматный автомат
> > закончит
> > свое обучение, то на Земле не останется ни одного
> человека
> > :-)
> Ну, здесь ты не прав, при оптимистическом рассмотрении
> недалёкого будущего, информационные технологии достигнут
> огромных высот, и скорость анализа будет занимать не много
> времени.

Думаю, что даже для тех машин проанализировать 10^100 партий
будет не под силу в течение приемлемого времени, да и разговор шел
не о ближайшем будущем, а о настоящем

> Нет, те ходы при данном расположении фигур, которые
> приведут к победе...
Без коментариев
>
> Кажется это было одно из условий.
> Она продумывала всего несколько ходов вперёд

Еще скажи, что это была IBM PC XT
Шахматы тем и хороши,что до сих пор никто до конца не оценил
все варианты, иначе эта игра не имела бы смысла

<programming>
[C++] new - delete 15.09.01 22:56  
Автор: atom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как получить значения (или их эквиваленты), возвращаемые операторами new и dekete ?
Суть проблемы:
Система, написанная на си и асме, использует память в разных участках различными способами ( malloc (calloc), прерывания DOS и new). Данная память пермещается между участками системы (разные exe-ки, резиденты com) и в конце концов уничтожается через delete.
Возникли сложности с подтверждением срабатывания new и delete
[C++] new - delete 16.09.01 17:15  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
> Как получить значения (или их эквиваленты), возвращаемые
> операторами new и dekete ?
> Суть проблемы:
> Система, написанная на си и асме, использует память в
> разных участках различными способами ( malloc (calloc),
> прерывания DOS и new). Данная память пермещается между
> участками системы (разные exe-ки, резиденты com) и в конце
> концов уничтожается через delete.
> Возникли сложности с подтверждением срабатывания new и
> delete

нельзя смешивать между собой разные системы работы с памятью
только соответсвующие пары:
malloc - free
new - delete
new[] - delete[]
...

если очень нужно, то операторы new и delete можно переопределить:

inline operator new(unsigned size)
{
return malloc(size);
}

inline operator delete(void* p)
{
free(p);
}

но вряд ли тебе удасться совместить прерывания DOS и функции стандартной библиотеки C/C++, так как эти функции могут производить запросы у системы больших блоков памяти, а программисту выдавать небольшие - по мере поступления запросов
[C++] new - delete 18.09.01 23:21  
Автор: atom Статус: Незарегистрированный пользователь
<"чистая" ссылка>

Что такое оверлей (overlay DOS) ?
Парочку "золотых сайтов" по сишной и асcемблерной тематике ?
[C++] new - delete 19.09.01 10:20  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
>
> Что такое оверлей (overlay DOS) ?
> Парочку "золотых сайтов" по сишной и асcемблерной тематике
> ?

мне тут посоветовали www.assembler.ru
мне понравилось

а по сишной тематике самой по себе нужен только стандарт языка
сайт скорее нужно искать с более конкретной тематикой

а что такое оверлей я не знаю :)
и щас это наверно уже мало кто помнит :)
в заголовке exe-файла есть поле overlay number
для основного модуля оно равно 0
Не забуду ДОС родную :) 19.09.01 11:22  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> >
> > Что такое оверлей (overlay DOS) ?

> а что такое оверлей я не знаю :)
> и щас это наверно уже мало кто помнит :)
> в заголовке exe-файла есть поле overlay number
> для основного модуля оно равно 0

Если я не ошибаюсь то, оверлей это такая фишка которая позволяет выполнять в DOS программу которая полностью не помещается в оперативную память, это делается посредством подгрузки кода из файла.
Не забуду ДОС родную :) 19.09.01 22:00  
Автор: atom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Есть предложение обсудить возможность создания ИР (искусственного разума) - для начала как алгоритм какой-нибудь игры, а затем попытаться смоделировать что-то похожее на универсальную системы.
Мои наработки в этом вопросе ограничиваются созданием игрушки "коровы и быки" (это где загадывается четырехзначное число и его нужно угадать "кто быстрее").
Сайты у меня есть, но окло года я к ним не притрагивался (уже забыл все пароли доступа), а новые заводить влом, поэтому если кому интересно, то могу слить прогу или текст (VC++) на мыло.
Наболевшей для меня проблемой является фикция того, что по моим выводам создать шахматы, которые обыгрывали бы человека невозможно (проблемы с просчетом комбинаций у ЭВМ не будет, а вот с выбором верного хода возникают проблемы) - это с одной стороны. А с другой стороны - чемпион мира (не будем показывать на Гарика пальцем) Компьютеру проиграл. Вот с этого парадокса можно было бы и начать ...


Моё мнение... 20.09.01 15:08  
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>
Ребят, да есть много книжек по AI. Я думаю что в шахматы машину можно легко научить играть, хотябы методом проб и ошибок, например вложить в машину правила, и заставить её сыграть сама с собой, раз эдак 10^100 раз, я думаю у неё потом не плохо получаться будит. Справка: В партии с Каспаровым играла машина, в которую были вшиты (прописаны) Только партии, сыгранные на турнирах, или ещё как-то, но там не было модели, о которой я говорил. простейший метод Алгоритна для игры можете поискать в книжке Мартина Гаднера.
Изобретателю метода проб и ошибок 20.09.01 17:12  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> Ребят, да есть много книжек по AI. Я думаю что в шахматы
> машину можно легко научить играть, хотябы методом проб и
> ошибок, например вложить в машину правила, и заставить её
> сыграть сама с собой, раз эдак 10^100 раз, я думаю у неё
> потом не плохо получаться будит.

Я думаю что когда наш гипотетический шахматный автомат закончит
свое обучение, то на Земле не останется ни одного человека :-)

Хотелось бы мне посмотреть как машина будет сама играть
Ходить рандомом и запоминать те партии где она выиграла сама у себя :)

> Справка: В партии с
> Каспаровым играла машина, в которую были вшиты (прописаны)
> Только партии, сыгранные на турнирах, или ещё как-то, но
> там не было модели, о которой я говорил. простейший метод
> Алгоритна для игры можете поискать в книжке Мартина
> Гаднера.

Справка: Машина которая играла с Каспаровым действительно
имела вшитые партии, но ты что же думаешь, что зная только это
она могла выиграть ??? Это полный бред !!! Помимо этого она строила неслабое дерево вариантов и имела функции оценки этих вариантов.




Изобретателю велосипеда 20.09.01 17:30  
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>
> Я думаю что когда наш гипотетический шахматный автомат
> закончит
> свое обучение, то на Земле не останется ни одного человека
> :-)
Ну, здесь ты не прав, при оптимистическом рассмотрении недалёкого будущего, информационные технологии достигнут огромных высот, и скорость анализа будет занимать не много времени.

> Хотелось бы мне посмотреть как машина будет сама играть
> Ходить рандомом и запоминать те партии где она выиграла
> сама у себя :)
Нет, те ходы при данном расположении фигур, которые приведут к победе...

> Справка: Машина которая играла с Каспаровым действительно
> имела вшитые партии, но ты что же думаешь, что зная только
> это
> она могла выиграть ???
Кажется это было одно из условий.
> Это полный бред !!! Помимо этого она
> строила неслабое дерево вариантов и имела функции оценки
> этих вариантов.
Она продумывала всего несколько ходов вперёд
>
>
>
>
И все таки 20.09.01 18:00  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> > Я думаю что когда наш гипотетический шахматный автомат
> > закончит
> > свое обучение, то на Земле не останется ни одного
> человека
> > :-)
> Ну, здесь ты не прав, при оптимистическом рассмотрении
> недалёкого будущего, информационные технологии достигнут
> огромных высот, и скорость анализа будет занимать не много
> времени.

Думаю, что даже для тех машин проанализировать 10^100 партий
будет не под силу в течение приемлемого времени, да и разговор шел
не о ближайшем будущем, а о настоящем

> Нет, те ходы при данном расположении фигур, которые
> приведут к победе...
Без коментариев
>
> Кажется это было одно из условий.
> Она продумывала всего несколько ходов вперёд

Еще скажи, что это была IBM PC XT
Шахматы тем и хороши,что до сих пор никто до конца не оценил
все варианты, иначе эта игра не имела бы смысла

И все таки 21.09.01 11:09  
Автор: Xan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
На сколько я знаю в нв проблема ие решается в первую очередь на уровне железа. Проводятся целые симпозиумы по нейро-комп. технологиям. Но проблем пока хватает с головой. И слава богу. Ослу понятно, что построить модель разума используя 16 пользовательских регистров невозможно. А алогоритмы всевозможных игр и комп задач действительно есть, целые тома стоят в магазине на "полянке". Так что как всегда ждемс. Вонючего ветра с запада, покамест задыхаясь от своего.
И все таки 21.09.01 20:10  
Автор: atom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Разве никто даже и не пытался самостоятельно реализовывать алгоритмы ИР ?
И все таки 21.09.01 23:55  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Если тебя интересуют так сказать азы то вот, а так действительно литературы - море на эту тему.

A: (Sergey Anisimov anis@anis.kchepetsk.ru)

┌────────────────────────────────────────────╥───────────────────────────────
│ Алгоритмы искуственного интеллекта ( AI ) ║
└════════════════════════════════════════════╝

По статье Jang Hin Lang (jang@ecf.toronto.edu)

Я не верю, что возможно обсудить все принципы и методы создания AI (
механизмов самообучения ) в компьютерных программах. Поэтому Вашему
вниманию будут предложены лишь их часть, а вернее всего два алгоритма
создания AI в компьютерных программах.

┌──────────────────╥─────────────────────────────────────────────────────────
│ Алгоритм нейрона ║
└══════════════════╝

Это наименее сложный из алгоритмов. Рассмотрим вначале схематичное
изображение нейрона:


Dendrite Дендрит | ------------ |
(Ввод) ----------------- O | | Аксон - один
. их может быть | Тело нейрона | O ---------------
. несколько | cell body | Axon (вывод)
(Ввод) ----------------- O | |
--------------

Где O - synapse. Синапс служит для соединения контактов между собой и
исполнительными механизмами.

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

Определим механизм работы с нейроном, который позволит нам
моделировать AI ( самообучение ).

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

- установите коэффициенты w и порог срабатывания t в
нашем рассмотрении к неким произвольным значениям.

- установите на каждый ввод x(0), x(1), x(2),...., x(n-1)
( прим. перев. Я здесь не понял - видимо надо дать на каждый ввод
либо 1 либо 0 :( )

- вычислите сработал ли вывод сравнив пороговое значение и сумму
коээфициентов ввода


n - 1
-----
\
Сумма коэфф. = w (i) * x (i)
/
-----
i = 0

- измените коэффициеты, для подтверждения правильных решений и
устранения неверных.
( прим. перев. Я не понял как менять эти коэффициенты, на
основании чего ? :( )

┌──────────────────────────────────────╥─────────────────────────────────────
│ Алгоритм Кохенена, или алгоритм Сети ║
└══════════════════════════════════════╝

Этот алгоритм, назван в честь профессора T. Kohonen с факультета
Информатики в Университете Helsinki, Финляндия. Вместо сравнения
входных коэффициентов к порогу срабатывания, ( как в случае с
алгоритмом нейрона ) Кохонен сравнил коэффициенты всех выходов, и
выбрал набор выходов имеющих коэффициенты, которые близко
соответствовали (согласовались) с коэффициентами входов.
Вот ссылка на его работу:

Kaelbling, Leslie Pack
Learning in Embedded Systems
The MIT Press, Cambridge, Massachusetts
(c) 1993
ISBN 0-262-11174-8


Самоообучающаяся сеть состоит из матрицы выходов j, которые все
соединяются с каждым входом i.

----------------
\ O O O \
\ \
выхода j \ O O O \
\ \
\ O O O \
----------------


Входа i O O

( прим. перев. Что обозначает данный рисунок я не понял :( )

Алгоритм позволяет определить выход-"победитель" - j*, который
точно подходит к ожидаемому выходу, как определенно входами i.
Изменение коэффициента j* и его окружения будет создавать желаемые
результаты.

( прим. перев. Вообщеничегоне понял :( )

Кохенен успешно реализовал эту методику для системы распознования
речи в середины восьмедисятых годов XX века. Вот его алгоритм:


1. Инициализация сети
- определите матрицу w(ij) (0 <= i <= n-1) которая определяет
коэффициенты от входа i во выход j. Установите
минимальные значения коэффициентов n входов. Установите радиус
окружения вокруг выхода j, N(j), к некоторому большому значению.

2. Установите входа
- Установите входа x(0), x(1), x(2),...., x(n-1), где x(i) - ввод i.

3. Вычислите расстояние
- Вычислите расстояние d(j) между входами i и каждым выходом j по
формуле:


n - 1
-----
\
d(j) = (x(i) - w(ij))^2
/
-----
i = 0

4. Выберите минимальное расстояние и обозначите выход j с
минимумом d(j) - j*.

5. Обновите веса
- обновите вес для узла j* и его окружения как определено
размером границы N(j).


w(ij) = w(ij) + M * (x(i) - w(ij))

Коэффициент M используется чтобы управлять корректировкой
коэффициентов выходов. Его значение должно устанавливаться в
диапазоне [0.5, 1] и затем постепенно уменьшаться, по линейной
функции от номера цикла обучения.

6. Если ожидаемое решение не было обнаружено, повторите
обучающийся цикл ( шаги 2-5 ).

7. Решение устанавливает S-сеть, которую можно использовать
компьютеру против игрока.

Например, сеть состоит из 16 выходов, 4 входов и размер окружения
равен 4, алгоритм Кохенена может разработать стратегию действий
всего за 216 ходов ( 9 * 4! ), что очень хорошо.

┌─────────────╥─────────────────────────────────────────────────────────────
│ Примечание ║
└═════════════╝

А вот алгоритм выдранный из переписки.

- cut -

Newsgroups: fido7.other.nice.sources
From: George Korablev <George.Korablev@p72.f207.n5020.z2.fidonet.org>
Date: Fri, 22 Nov 96 20:05:40 +0300
Subject: [News] Re: Самообучающиеся программы


Сердечно приветствую,дорогой Alexey!

Wednesday November 20 1996.В 03:58, Alexey Efimov изрек из своих недр в адрес
George Korablev следующее:

GK>> Да ты не рубишь разницу между обучающейся экспертной системой и
GK>> обучающейся программой. Хотя игра м.б. построена по принципу
GK>> экспертной системы и экспертная система по принципу игры. Могу
GK>> поделиться мыслями - как построить экспертную системы (плагиат из
GK>> одноименной книжки - валяется в библио-глобусе)

AE> Попpобуй... поделись.

Все-таки Sorry за плагиат, но раз уж просят...

Допустим есть система из двух объектов, имеющих по три свойства.
Hапример птица и самолет. Пусть "1" - это присутствие признака, а "0"
- наоборот.

Крылья Оперение Шасси
Птица 1 1 0
Самолет 1 0 1

Заводим внутри программы массивы 2х3 и 1х3, изначально прописанные
нулями. Массив 1х3 будет вектором наших вопросов.

Режим обучения/отгадывания:
Мы говорим системе: што есть "крылья"+"шасси" (1,0,1). Система
при отгадывании выполняет следующую манипуляцию:

1. умножает вектор наших вопросов на все строки в массиве признаков
поочереди.
2. Получаем два результата.
3. Выбираем максимальный. (это и есть ответ на наш вопрос)

Т.к. все были нули, программа говорит: "Птица?", вы отвечаете "Нет".
Далее происходит следующий алгоритм:
1. Если программа не угадала, то ваш вектор ответов вычитается из
строке массива соответствующему овтету, а к остальным прибавляется.
2. Если программа угадала, то ничего не происходит.

В нашем случае после первых наших вопросов имеем:
Птица -1 0 -1
Самолет 1 0 1

Задаем след. вопрос: што есть "крылья"+"перья" (1,1,0)?
Программа:
Птица : -1+0+0 = -1
Самолет : 1+0+0 = 1
ответ: Самолет
Вы: неверно

Программа:
Птица 0 1 -1
Самолет 0 -1 1

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

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

P.P.S. Кстати можно использовать количественые значения признаков
типа "ноги" при вариантах ответов 1 :), 2, 3 :), 4 и т.д. тоже будет
работать и намного точнее.

P.P.P.S ;)
Приведенный пример экспуртной системы - одноуровневый. о можно на ее
основании построить N-мерную модель. Hапример каждый элемент плоского
массива - это результат по поискам максимальных элементов из других
массивов.

- cut -

( прим. перев. IMHO это понятней. ;)) )

┌────────────────────────╥───────────────────────────────────────────────────
│ Примечания переводчика ║
└════════════════════════╝

Данный документ составлен Анисимовым С.Ю. 02/1997. г. К-Чепецк,
Кировской обл. Россия. root@anis.velcom.vyatka.su

Переводчик не несет ответственность за неверную информацию, и за
повреждения техники и тел при использовании этого документа.

С наилучшими пожеланиями, для всех любителей программировать игры !
Vale !
:))) Телега и лошадь 20.09.01 11:46  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Как я понимаю ты хочешь создать AI :)
Только начать нужно не с программ, а с мат. модели. А для начала перелопатить все существующие нароботки. А их уже не мало. Так же необходимо, ИМО, пройти курс Когнитивной психологии, благо ее создавали инженеры. А уже потом создавать свою модель, итолько после этого что либо "программить".
Вообщем дело не одного года, и на докторскую потянет :)
А теперь вопрос: оно тебе надо ?
Не надо заблуждаться 20.09.01 10:54  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> Наболевшей для меня проблемой является фикция того, что по
> моим выводам создать шахматы, которые обыгрывали бы
> человека невозможно (проблемы с просчетом комбинаций у ЭВМ
> не будет, а вот с выбором верного хода возникают проблемы)
> - это с одной стороны. А с другой стороны - чемпион мира
> (не будем показывать на Гарика пальцем)
> Компьютеру проиграл. Вот с этого парадокса можно было бы и начать ...
===============================================================

Зачем с самого начала проекта исходить из ложных предпосылок,
то что человек проигрывает в шахматы компьютеру - это уже почти аксиома
и парадокса тут нет. Я например давно не могу выиграть у компьютера
в шахматы(а вроде тоже человек), ну и что, где тут парадокс.
Если рассматривать игру шахматы как мерило разума компьютера
то он в ближайшее время будет ну таким умным что прям жуть :-)

> Наболевшей для меня проблемой является фикция того, что по
> моим выводам создать шахматы, которые обыгрывали бы
> человека невозможно

Исходя из моего жизненного опыта, если по моим выводам
что-то не должно происходить, но это происходит значит
МОИ ВЫВОДЫ ИЛИ ПРЕДПОСЫЛКИ НЕВЕРНЫ, а не наоборот !!!

С уважением
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach