Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

AI   Найти похожие ветки 

 
Sormy   (2004-06-18 15:57) [0]

Кто-нибудь располагает информацией о том, как правильно создавать искусственный интеллект? Ну не на одних условных операторах же его делать?


 
cyborg ©   (2004-06-18 16:05) [1]

Именно так, будут одни условия.


 
breakmaster ©   (2004-06-18 16:52) [2]

почему? еще case))


 
Vertex   (2004-06-18 17:05) [3]

или нейросеть)


 
cyborg ©   (2004-06-18 21:44) [4]

посты 2 и 3 это и есть условия.


 
}{enon ©   (2004-06-20 19:43) [5]

Как раз на одних условиях (куда же ты денешься без if"a?). Другое дело, что они могут быть разными по реализации - нейросети, мат. рассчеты или перебор, простое if time = ... и т.д.


 
Алекс А   (2004-06-21 05:47) [6]

Ещё как вариант, использовать вместо условий вероятность.

Что-нибудь типа :

i := 50;

if Random(100) > i then inc(i) esle dec(i);


И можно в зависимости от успешности менять i на большее или меньшее значение.


 
cyborg ©   (2004-06-21 08:54) [7]


> if Random(100)

Это конечно же не условие?


 
NailMan ©   (2004-06-21 09:22) [8]

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

---
WBR, NailMan aka 2:5020/3337.13


 
Mindb0t   (2004-06-21 09:52) [9]

2Sormy
aimatrix.nm.ru - сходи, не пожалеешь.


 
Sormy   (2004-06-21 22:03) [10]

Спасибо! Хороший сайт...


 
Алекс А   (2004-06-22 01:30) [11]


> cyborg ©   (21.06.04 08:54) [7]
>
> > if Random(100)
>
> Это конечно же не условие?

Это русская релетка. Хотя может быть для вас русская рулетка - тоже условие.


 
wiz ©   (2004-06-22 02:10) [12]

2 Алекс А:
конечно условие... условие это любая проверка, которая предполагает больше одного варианта развития событий.

if-then-else <- блок с одним входом и двумя выходами, в зависимости от _условия_. А вот условие может быть любым... Формально, вплоть до тривиального (1=1) или (0=5).

Как-раз эти случаи можно не считать условиями, т.к. они не предполагают выбора (кстати, нормальные компиляторы так и делают).

А вот (random(100)>N) это как раз условие. Оно означает, что выбор не детерменирован состоянием системы (программы), а делается произвольным образом. При каждом выполнении этого оператора, программа будет генерировать случайное число и !условием! перехода по ветке then будет то, что значение этого случайного числа больше N.

Можно сказать, что в качестве условия перехода взято случайное число из распределения такого-то (в данном случае равномерного). А можно сказать, что программа перейдёт туда-то и туда-то с вероятностью такой-то.

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

Хотя конечно изначально вопрос был не об этом.

Вопрос должен был звучать следующим образом: "Как правильно реализовывать ИИ? Не на одной же чёткой логике..." конечно не на одной... еще есть нечёткая логика. (отсюда и далее моё imho-размышление на тему)

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

Первый, "нечёткость" условий, что приводит нас к тому, что условиями выбора должны быть вероятностные величины. Или условия должны изменяться со временем, в зависимости от чего-либо не заданного в системе.

Второй, "нечёткость" действий. Можно со временем добавлять новые ребра, менять их порядок, изменять их. (Это уже ближе к нейросетям)


 
Алекс А   (2004-06-22 03:00) [13]


> wiz ©   (22.06.04 02:10) [12]
> конечно условие... условие это любая проверка, которая предполагает
> больше одного варианта развития событий.

Читайте последнюю фразу из постинга [6].
Если не понимаете, то поясняю.
Когда i = 0 или i = 100 никакого условия уже не будет. Также как нет условия, когда играют в русскую рулетку с пустой, или полной обоймой.


 
Mindb0t   (2004-06-25 10:43) [14]

Не майтесь вы ерундой. Для хотя бы жалкого подобия ai нужна fuzzy-logic, а не булевская. А пока людьми достигнута только имитация ии, посредством нейронных прибамбасов. Всё равно ведь ничего нового не придумать :( Пусть дядьки в нии занимаются этим...


 
Алекс А   (2004-06-27 04:41) [15]


> Mindb0t   (25.06.04 10:43) [14]
> Для хотя бы жалкого подобия ai нужна fuzzy-logic

Если вы хотели нас удивить этим словом, то считайте, что это удалось.
Но было бы куда лучше, если бы вы в двух словах объяснили её принцип.


 
Mindb0t   (2004-06-28 12:22) [16]

Удивлять не хотел - думал, что люди знают, тем более что wiz говорил про нечёткую логику...
В двух словах - булевская логика это когда да нет (0 и 1), а фазилогика близка по значению к
человеческой (в понимании людей :)). Ну простой пример: Нужен ли Гейтс этому миру? Булевая
логика - Нет. Fuzzy - Ненужен, но его деньги - да! :) Может немножко неудачный пример, но я думаю,
что из него можно понять почему fuzzy логику назвали нечёткой. Хм... Раз уж не выходит в
двух словах обьяснить, даю ещё пример. Человек стоит на некотором расстоянии от здания, м/д ними
находится машина (ближе к дому). Человек задаётся вопросом: Каково расстояние от него до машины и
от машины до здания? Бул. л. - (Большое, маленькое - здесь невозможно за одну операцию определить
все параметры) - 1-ая операция: Большое. 2-ая операция: Маленькое. Фаз. л. - (одна операция и есть
вероятность того, что возможно обработать все параметры) - Большое расстояние от человека до машины и
незначительно меньшее, по отношению к предыдущему расстоянию, от машины до дома... Bool & Fuzzy логики
различны, как архитектуры RISC и CISC процессоров. Надеюсь всё понятно.
Но всё это опять же эмуляция простейших высокоуровневых мозговых процессов без понимания их работы на
уровне мозговой деятельности. Надо бы изучить сначала наш мозг, а потом уже браться за воплощение разума
в куске кремния, или ещё хуже, в несовершенном программном коде... Такой вот я пессимист. Хотя конечно бы
хотелось получить какие-либо серьёзные результаты уже в наше время, при жизни :). Кто знает, может быть
дальнейшее развитие квантовых систем позволит компьютеру наконец-то побить тест фон Неймана? ;) Или биологи
вкупе с психологами разберутся в структуре мозга?..

ps. Отвечаю на вопрос Sormy. Да, на основе только лишь чёткой логики реализовать эмуляцию ИИ практически
невозможно (нормального уровня). Разумнее пользоваться AIChips, с уже мной указываемого сайта, и не изобретать
велосипед (лучше подождать пока создадут мопед :)). А нейронные сети... Ну что ж, хороший инструмент самообучения,
и их вполне можно использовать как ЧАСТЬ алгоритма, но никак не основу.

pps 2Алекс А Увы! Уложился в 327 слов!..


 
Алекс А   (2004-06-29 04:15) [17]


> Mindb0t   (28.06.04 12:22) [16]
> Удивлять не хотел - думал, что люди знают, тем более что
> wiz говорил про нечёткую логику...

Всё. Понял. Просто не догадался перевести.
Зачем вам три значения нечёткой логики, когда можно использовать вероятность ? См. постинг Алекс А (21.06.04 05:47) [6].


 
Murkt ©   (2004-06-29 08:54) [18]

Фактически нечетная логика - это когда вместо boolean использовать cardinal, int64... :))


 
Mindb0t   (2004-06-29 19:28) [19]

2Murkt
Фактически для нечёткой логики лучше использовать отдельные микрухи. А на пс ии это ерунда (пусть хоть !fuzzy^256 :)). Тем более, что эта логика очень даже чётная :)

2Алекс
Лично мне - незачем. А вам - пожалуйста, используйте.


 
Алекс А   (2004-06-30 01:30) [20]


> Mindb0t   (29.06.04 19:28) [19]
> 2Murkt
> Фактически для нечёткой логики лучше использовать отдельные
> микрухи. А на пс ии это ерунда (пусть хоть !fuzzy^256 :)).
> Тем более, что эта логика очень даже чётная :)
>
> 2Алекс
> Лично мне - незачем. А вам - пожалуйста, используйте.


Сами себе противоречите.


 
Mindb0t   (2004-06-30 08:43) [21]

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

2Алекс А
Как я понял Вы серьёзно занимаетесь вопросами ии?



Страницы: 1 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.046 c
9-1088678971
Proger
2004-07-01 14:49
2004.10.31
Загрузка растра


8-1091393561
Luuzuk
2004-08-02 00:52
2004.10.31
Запись аудиопотока с линейного входа звуковухи


4-1096129821
sh@de
2004-09-25 20:30
2004.10.31
Поцесс с системной учюзаписью


1-1098121425
focor
2004-10-18 21:43
2004.10.31
HTMLtoFILE


1-1097657715
denis24
2004-10-13 12:55
2004.10.31
вертикальный tabsheet