2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Разумность программ
Сообщение25.08.2014, 18:54 
Alexandre Lois в сообщении #899722 писал(а):
программа делает весьма случайные ходы. Вопрос такой- как сделать так, чтобы программа сделала целесообразный ход?
Мартин Гарднер "Математические досуги"
Глава 14: Самодельная самообучающаяся машина из спичечных коробков
http://golovolomka.hobby.ru/books/gardn ... v/14.shtml
Цитата:
В статье “Метод проб и ошибок” (Penguin Science Survey, 2, 1961) Мичи описывает самообучающуюся машину для игры в крестики и нолики, которую можно собрать из трехсот спичечных коробков. Называется эта машина MENACE (Mathbox Educable Naughts and Crosses Engine — машина из спичечных коробков, умеющая играть в крестики и нолики; menace (англ.) — угроза, опасность.))
MENACE работает очень просто. На каждом коробке нарисована какая-нибудь позиция, встречающаяся при игре в крестики и нолики. Первый ход (а следовательно, и все нечетные) всегда делает машина, поэтому на коробках достаточно написать лишь те позиции, которые возникают перед нечетными ходами. Внутри каждого коробка лежат разноцветные стеклянные бусинки небольшого диаметра (каждый цвет соответствует одному из возможных ходов машины).
Внутрь каждого коробка вклеен картонный уголок. При встряхивании и переворачивании коробка бусинки закатываются в картонный “загон”. Цвет бусинки, попавшей в вершину уголка, случаен. В коробках, относящихся к первому ходу, лежит по четыре бусинки каждого цвета, в коробках третьего хода — по три, в коробках пятого хода — по две бусинки каждого цвета и, наконец, в коробках седьмого хода каждый цвет представлен лишь одной бусинкой.
Чтобы узнать очередной ход машины, надо встряхнуть и перевернуть коробок, затем открыть его и посмотреть, какого цвета “вершинная” бусинка, то есть бусинка, закатившаяся в вершину картонного уголка коробка; “принявшие участие” в игре коробки остаются открытыми до конца партии. Если машина выигрывает, ее поощряют, добавляя в каждый открытый коробок по три бусинки того же цвета, что и “вершинная” бусинка. Если игра заканчивается вничью, в каждый коробок добавляют только по одной бусинке (того же цвета, что и “вершинная”). Если же машина проигрывает, ее “наказывают”, вынимая из каждого коробка бусинку, закатившуюся в вершину уголка. Такой метод кнута и пряника находит весьма близкие параллели в обучении животных и даже людей. Чем больше партий в крестики и нолики играет машина Мичи, тем лучше она “запоминает” выигрышные ходы и тем упорнее стремится избегать проигрышных. Это и означает, что она представляет собой хотя и очень простое, но все же самообучающееся устройство. Правда, в отличие от IBM 704, работающей по шахматной программе Сэмюела, наша “спичечная” машина не умеет анализировать сыгранные партии и разрабатывать новые “стратегические замыслы” в соответствии с накопленным опытом.

 
 
 
 Re: Разумность программ
Сообщение25.08.2014, 18:57 
Аватара пользователя
Помню такую ;-) Сам, правда, не делал. Но в контексте шахмат это выглядит несколько издевательски.

(Оффтоп)

Впрочем, не сомневаюсь, что вы, Nemiroff, и без моих замечаний об этом знаете ;-)

 
 
 
 Re: Разумность программ
Сообщение25.08.2014, 19:48 
Аватара пользователя
Aritaborian в сообщении #899863 писал(а):
А если мы можем изменять программу, тогда моя исходная посылка оказывается неверной.


программу нельзя менять. Она такая как есть. В принципе Вы в общем ответили на вопрос, только надо решить, что это за ситуация.

 
 
 
 Re: Разумность программ
Сообщение26.08.2014, 01:22 
Аватара пользователя
Alexandre Lois в сообщении #899893 писал(а):
программу нельзя менять. Она такая как есть.
Тогда заменим слово «программа» словом «противник» и поймём, что задача не имеет никакого отношения к программированию...
Alexandre Lois в сообщении #899893 писал(а):
надо решить, что это за ситуация.
...а имеет отношение лишь к шахматной теории.

 
 
 
 Re: Разумность программ
Сообщение26.08.2014, 13:38 
Аватара пользователя
Aritaborian в сообщении #900031 писал(а):
...а имеет отношение лишь к шахматной теории.


неправильно. Это имеет отношение именно к данной программе!

 
 
 
 Re: Разумность программ
Сообщение26.08.2014, 13:47 
Аватара пользователя
И какое же?

 
 
 
 Re: Разумность программ
Сообщение26.08.2014, 17:39 
Аватара пользователя
Alexandre Lois
Выведите ферзя с начальной позиции с самых первых ходов и подставьте его прямо под бой вражеской пешки. Повторите опыт несколько раз. Если программа всегда будет рубить ферзя, значит она нифига не рЕндомная. Если иногда рубит, иногда не рубит, то программа истинно рЕндомная, хотя и туповатая, если не совершает заведомо выигрышных ходов.

Самый простой способ. Можно еще специально подставляться под вражеский мат. И смотреть, будет ли программа матовать всегда или нет. Но это уже надо довольно хорошо в шахматы играть, чтобы нарочно устраивать само-матовые ситуации.

 
 
 
 Re: Разумность программ
Сообщение26.08.2014, 17:42 
Аватара пользователя
INGELRII в сообщении #900332 писал(а):
Самый простой способ. Можно еще специально подставляться под вражеский мат. И смотреть, будет ли программа матовать всегда или нет. Но это уже надо довольно хорошо в шахматы играть, чтобы нарочно устраивать само-матовые ситуации.


в принципе Вы верно решили задачу. Судя по всему у Вас весьма высокий уровень развития. Вы готовы решить более сложную задачу ? ( пришлю в приват).
Также предлагаю Вам принять участие в моём проекте.

(Оффтоп)

В общем идея вот какая
Речь идёт об эволюционирующем мире. Сначала на экране хаос. Человек вводит словесные команды и постепенно видит, как мир эволюционирует под воздействием его команд. Принцип очень не сложен и связан с простейшей иллюзией. Думаю, это может быть супер интересная игра.
Вообще-то изначально я хотел, чтобы команды были речевые. Сделать это также не сложно через сервис в гугле, но не знаю реально ли такое сделать в юнити. Здесь надо напрячь интеллект, чтобы создать сильный принцип.

 
 
 
 Re: Разумность программ
Сообщение27.08.2014, 16:58 
Аватара пользователя
Канеш благодарю и все такое, но у меня своих проектов куча. Хоть бы один успеть завершить, пока таймер до конца не дотикал.

 
 
 
 Re: Разумность программ
Сообщение30.08.2014, 06:56 
Аватара пользователя
INGELRII
:D

вы б поинтересовались скока тс лет :mrgreen:

 
 
 
 Re: Разумность программ
Сообщение30.08.2014, 14:01 
Аватара пользователя
itmanager85
По моим впечатлениям, всего на полгода больше, чем вам :wink:

 
 
 
 Re: Разумность программ
Сообщение31.08.2014, 05:05 
Аватара пользователя
INGELRII

(Оффтоп)

а, ну тогда продолжайте :lol:

 
 
 
 Re: Разумность программ
Сообщение30.09.2014, 15:50 
Аватара пользователя
А как вообще реализуется "случайность" в программах? Насколько мне известно, тот же "корейский рандом", по которому "рассчитывается" вероятность заточки предметов в ладве, это банальная последовательность
Код:
+++--+---+----+-+--+
ну и так далее, в зависимости от хроник. Обходилось как-то так: берем три вещи с параметром заточки "+3", точим две на +1 (они ломаются), точим третью на +1 (она точится) - ну и в таком духе, никакой "случайности" там не было, обычный алгоритм.
В шахматной программе, наверное, тем же способом варьируется "случайность": if(пешка) напротив ферзя, последний ее жрет, однако правило не работает, if(слон) нацелен на (пешку) :mrgreen: Нет?

 
 
 [ Сообщений: 28 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group