Обсуждение:Крестики-нолики

Последнее сообщение: 15 часов назад от Pavel4654 в теме «Правки участников 5.18.185.188 и Dimitrian757»

Ошибка на картинке

править

на прилагаемой картинке -- ошибка! почему там ноликов больше, чем крестиков, если крестики ходят первыми??!

Кстати, да. Сейчас перерисую... #!George Shuklin 15:01, 22 сентября 2006 (UTC)Ответить
Хе, заодно и в векторе получилось.#!George Shuklin 15:09, 22 сентября 2006 (UTC)Ответить
Спасибо за картинку! Только жаль, что в ней не крестики, а нолики первыми ходят :( Что делать? Я по этой картинке даже фильм учебный хочу сделать! Natkabrown 07:35, 23 мая 2012 (UTC)Ответить

алгоритм за нолики к нечией непашет

править

За нолики. Если противник сходил первым ходом в центр, ответить ходом в любой из углов, если противник сходит первым ходом не в центр, ответить ходом в центр. Каждым следующим ходом блокировать возможность построения противником очередной тройки, при возможности выбора предпочитая ходы в углы. — Ничья Данный алгоритм предполагает оптимальную игру противника. Естественно, если противник допускает ошибку, позволяющую следующим ходом построить тройку, её следует построить, но при правильной игре такое невозможно.


если пойти 9-1-7 то выйгрыш. icq 3079670

Крестики-нолики на практике

править

Кстати, если мы рассказываем на практике о крестиках-ноликах, но неужели было бы плохо показать на практике что это такое? Тем более что программа демонстрирует неизвестные ранее возможности/разновидности. Я и показал программу для игры в крестики-нолики. Разве это плохо? Тем более в наше время, когда сложно найти соперника для игры на бумаги, т.к. все за компьютерами постоянно сидят. Но кто-то решил, что люди не должны узнать на практике что такое "крестики-нолики". — Эта реплика добавлена участником Frato (о · в) 04:53, 9 апреля 2009

Потому что сейчас программ для игры очень много! А выбирать одну, и не самую простую - это реклама, которой здесь быть не должно. infovarius 15:04, 9 апреля 2009 (UTC)Ответить
В этой статье я не видел ни одной ссылки ни на одну программу, хоть одна ссылка должна быть, иначе читатель останется в неведении Frato 21:21, 9 апреля 2009 (UTC)FratoОтветить

Дерево игровых ситуаций

править

Я тут написал программу на graphviz'е: граф, отображающий дерево игровых ситуаций для крестиков-ноликов. Но я не придумал, как заставить Википедию отобразить эту программу, поэтому напишу ее сюда.

Кстати, в алгоритме небольшая неточность:
>Сделать первый ход в центральное поле... Если противник ответил ходом на сторону — он проиграл. Следует ответить ходом в один из двух несоседних углов.

На самом деле, можно ответить ходом в любой угол. Это следует из того, что
>Сделать первый ход в угол... Если противник ответил ходом на сторону, он проиграл. Следует ответить ходом в центр, сводя к предыдущей стратегии. — Выигрыш.

Если противник поставил нолик в соседней с крестиком клетке, а следующий ход крестиком будет в центр, то уже получается, что в "предыдущей стратегии" можно отвечать ходом в соседний угол.

Кстати, было бы неплохо, если бы кто-нибудь рассмотрел случай, когда первый ход крестиками осуществляется на сторону.

<graphviz> digraph G{ rankdir=LR; size="1500,1500"; 1[shape=record,label="{||}|{||}|{||}"]; 2[shape=record,label="{x||}|{||}|{||}"]; 3[shape=record,label="{||}|{|x|}|{||}"]; 4[shape=record,label="{x|o|}|{||}|{||}"]; 5[shape=record,label="{x||o}|{||}|{||}"]; 6[shape=record,label="{x||}|{|o|}|{||}"]; 7[shape=record,label="{|o|}|{|x|}|{||}"]; 8[shape=record,label="{o||}|{|x|}|{||}"]; 9[shape=record,label="{x||o}|{||}|{x||}"]; 10[shape=record,label="{x||}|{|o|}|{||x}"]; 11[shape=record,label="{|o|}|{|x|}|{x||}"]; 12[shape=record,label="{o||x}|{|x|}|{||}"]; 13[shape=record,label="{x|o|o}|{||}|{x||}"]; 14[shape=record,label="{x||o}|{o||}|{x||}"]; 15[shape=record,label="{x||}|{|o|}|{o||x}"]; 16[shape=record,label="{x||}|{o|o|}|{||x}"]; 17[shape=record,label="{|o|o}|{|x|}|{x||}"]; 18[shape=record,label="{o|o|}|{|x|}|{x||}"]; 19[shape=record,label="{o||x}|{|x|}|{o||}"]; 20[shape=record,label="{o||x}|{o|x|}|{||}"]; 21[shape=record,label="{x|o|o}|{x||}|{x||}"]; 22[shape=record,label="{x||o}|{o||}|{x||x}"]; 23[shape=record,label="{x||x}|{|o|}|{o||x}"]; 24[shape=record,label="{x||}|{o|o|x}|{||x}"]; 25[shape=record,label="{x|o|o}|{|x|}|{x||}"]; 26[shape=record,label="{o|o|x}|{|x|}|{x||}"]; 27[shape=record,label="{o||x}|{x|x|}|{o||}"]; 28[shape=record,label="{o||x}|{o|x|}|{x||}"]; 29[shape=record,label="{x||o}|{o||}|{x|o|x}"]; 30[shape=record,label="{x|o|x}|{|o|}|{o||x}"]; 31[shape=record,label="{x||o}|{o|o|x}|{||x}"]; 32[shape=record,label="{x||}|{o|o|x}|{o||x}"]; 33[shape=record,label="{x|o|o}|{|x|}|{x||o}"]; 34[shape=record,label="{o||x}|{x|x|o}|{o||}"]; 35[shape=record,label="{o||x}|{x|x|}|{o|o|}"]; 36[shape=record,label="{x||o}|{o|x|}|{x|o|x}"]; 37[shape=record,label="{x|o|x}|{|o|x}|{o||x}"]; 38[shape=record,label="{x||o}|{o|o|x}|{x||x}"]; 39[shape=record,label="{x||x}|{o|o|x}|{o||x}"]; 40[shape=record,label="{x|o|o}|{x|x|}|{x||o}"]; 41[shape=record,label="{o|x|x}|{x|x|o}|{o||}"]; 42[shape=record,label="{o||x}|{x|x|x}|{o|o|}"]; 43[shape=record,label="{x||o}|{o|o|x}|{x|o|x}"]; 44[shape=record,label="{x|o|o}|{o|o|x}|{x||x}"]; 45[shape=record,label="{o|x|x}|{x|x|o}|{o|o|}"]; 46[shape=record,label="{o|x|x}|{x|x|o}|{o||o}"]; 47[shape=record,label="{x|x|o}|{o|o|x}|{x|o|x}"]; 48[shape=record,label="{x|o|o}|{o|o|x}|{x|x|x}"]; 49[shape=record,label="{o|x|x}|{x|x|o}|{o|o|x}"]; 50[shape=record,label="{o|x|x}|{x|x|o}|{o|x|o}"]; 1->2; 1->3; 2->4[label="win"]; 2->5[label="win"]; 2->6; 3->7[label="win"]; 3->8; 5->9; 5->12[label="drow possible",style="dashed"]; 6->10; 7->11; 4->11; 8->12; 9->13; 9->14; 10->15; 10->16; 11->17; 11->18; 12->19; 12->20; 13->21; 14->22; 15->23; 16->24; 17->25; 18->26; 19->27; 20->28; 22->29; 23->30; 24->31; 24->32; 25->33; 27->34; 27->35; 29->36; 30->37; 31->38; 32->39; 33->40; 34->41; 35->42; 38->43; 38->44; 41->45; 41->46; 43->47; 44->48; 45->49; 46->50; } </graphviz> Clothclub 15:29, 21 сентября 2009 (UTC)Ответить

Может быть заменить на известный Википедии (при подстановке graphviz вместо cpp выдаёт ошибку)

digraph G{ 
rankdir=LR;
size="1500,1500";
1[shape=record,label="{||}|{||}|{||}"];
2[shape=record,label="{x||}|{||}|{||}"];
3[shape=record,label="{||}|{|x|}|{||}"];
4[shape=record,label="{x|o|}|{||}|{||}"];
5[shape=record,label="{x||o}|{||}|{||}"];
6[shape=record,label="{x||}|{|o|}|{||}"];
7[shape=record,label="{|o|}|{|x|}|{||}"];
8[shape=record,label="{o||}|{|x|}|{||}"];
9[shape=record,label="{x||o}|{||}|{x||}"];
10[shape=record,label="{x||}|{|o|}|{||x}"];
11[shape=record,label="{|o|}|{|x|}|{x||}"];
12[shape=record,label="{o||x}|{|x|}|{||}"];
13[shape=record,label="{x|o|o}|{||}|{x||}"];
14[shape=record,label="{x||o}|{o||}|{x||}"];
15[shape=record,label="{x||}|{|o|}|{o||x}"];
16[shape=record,label="{x||}|{o|o|}|{||x}"];
17[shape=record,label="{|o|o}|{|x|}|{x||}"];
18[shape=record,label="{o|o|}|{|x|}|{x||}"];
19[shape=record,label="{o||x}|{|x|}|{o||}"];
20[shape=record,label="{o||x}|{o|x|}|{||}"];
21[shape=record,label="{x|o|o}|{x||}|{x||}"];
22[shape=record,label="{x||o}|{o||}|{x||x}"];
23[shape=record,label="{x||x}|{|o|}|{o||x}"];
24[shape=record,label="{x||}|{o|o|x}|{||x}"];
25[shape=record,label="{x|o|o}|{|x|}|{x||}"];
26[shape=record,label="{o|o|x}|{|x|}|{x||}"];
27[shape=record,label="{o||x}|{x|x|}|{o||}"];
28[shape=record,label="{o||x}|{o|x|}|{x||}"];
29[shape=record,label="{x||o}|{o||}|{x|o|x}"];
30[shape=record,label="{x|o|x}|{|o|}|{o||x}"];
31[shape=record,label="{x||o}|{o|o|x}|{||x}"];
32[shape=record,label="{x||}|{o|o|x}|{o||x}"];
33[shape=record,label="{x|o|o}|{|x|}|{x||o}"];
34[shape=record,label="{o||x}|{x|x|o}|{o||}"];
35[shape=record,label="{o||x}|{x|x|}|{o|o|}"];
36[shape=record,label="{x||o}|{o|x|}|{x|o|x}"];
37[shape=record,label="{x|o|x}|{|o|x}|{o||x}"];
38[shape=record,label="{x||o}|{o|o|x}|{x||x}"];
39[shape=record,label="{x||x}|{o|o|x}|{o||x}"];
40[shape=record,label="{x|o|o}|{x|x|}|{x||o}"];
41[shape=record,label="{o|x|x}|{x|x|o}|{o||}"];
42[shape=record,label="{o||x}|{x|x|x}|{o|o|}"];
43[shape=record,label="{x||o}|{o|o|x}|{x|o|x}"];
44[shape=record,label="{x|o|o}|{o|o|x}|{x||x}"];
45[shape=record,label="{o|x|x}|{x|x|o}|{o|o|}"];
46[shape=record,label="{o|x|x}|{x|x|o}|{o||o}"];
47[shape=record,label="{x|x|o}|{o|o|x}|{x|o|x}"];
48[shape=record,label="{x|o|o}|{o|o|x}|{x|x|x}"];
49[shape=record,label="{o|x|x}|{x|x|o}|{o|o|x}"];
50[shape=record,label="{o|x|x}|{x|x|o}|{o|x|o}"];
1->2;
1->3;
2->4[label="win"];
2->5[label="win"];
2->6;
3->7[label="win"];
3->8;
5->9;
5->12[label="drow possible",style="dashed"];
6->10;
7->11;
4->11;
8->12;
9->13;
9->14;
10->15;
10->16;
11->17;
11->18;
12->19;
12->20;
13->21;
14->22;
15->23;
16->24;
17->25;
18->26;
19->27;
20->28;
22->29;
23->30;
24->31;
24->32;
25->33;
27->34;
27->35;
29->36;
30->37;
31->38;
32->39;
33->40;
34->41;
35->42;
38->43;
38->44;
41->45;
41->46;
43->47;
44->48;
45->49;
46->50;
}

Fractaler 17:16, 21 сентября 2009 (UTC)Ответить

Да, конечно. Я думал, может быть кто-нибудь знает, какой нужно подставить тэг, чтобы википедия сразу отображала граф. Но так тоже ничего. Clothclub 04:24, 3 октября 2009 (UTC)Ответить

Насчет анализа

править

Почему нет ветки когда крестики изначально могут сходить на сторону поля, а только либо в центр или в угол?

--- Там написано, что крестики ходят всегда рационально, а в алгоритме первый ход крестиками на сторону не считается рациональным.

Во-первых, там это не написано; во-вторых, из каких соображений определяется рациональность хода крестиков? Вообще, мне совершенно непонятно из каких соображений построен приведённый алгоритм: если - показать все возможные безошибочные партии для крестиков, то он явно неполный; если как пример оптимальной стратегии для крестиков, то он явно избыточный. В рисунке тоже содержатся ошибки. Например, после ходов: 1. Xa3; 0b3 стрелочка ведёт к положению, где крестики находятся на a1 и b2, а нолик всё на том же b3. Такое положение физически не может получится после данных ходов, даже если отразить или повернуть игровое поле. 217.172.18.157 07:40, 31 мая 2011 (UTC)Ответить
Видимо примеры оптимальной стратегии для крестиков при рациональном сопротивлении ноликов. --S.J. 11:02, 31 мая 2011 (UTC)Ответить

Дерево игровых ситуаций

править

Почему в заголовке рисунка стоит "Полное дерево игровых ситуаций", когда оно явно не полное?217.172.18.157 06:39, 31 мая 2011 (UTC)Ответить

Варианты правил игры

править

Чтобы не было каши в голове, советую изредка посматривать на разновидности правил. То, что сейчас написано в разделе «Более длинные линии» — просто ужас, вызванный полным непониманием различий. Manslay 01:58, 28 сентября 2012 (UTC)Ответить

Более длинные линии - n в ряд

править

Утверждение про ничейную смерть для 6 в ряд и существование стратегии достижения ничьей вторым игроком — весьма сильное утверждение. Насколько я помню, для 9 и более срабатывает элементарная стратегия полей соответствия, для 8 есть более сложная стратегия, но даже для 7 в ряд нет (не было?) чистого доказательства. Игроки гомоку нутром чуют, конечно, что 6 в ряд при оптимальной защите противника — недостижимая задача, но не надо это путать с математически точным доказательством наличия ничейной стратегии. Надо либо указать источник, либо изменить формулировку. --Renju player 07:48, 30 января 2013 (UTC)Ответить

Дореволюционные названия

править

Давайте обсудим названия. Почему очерк Лейкина «Учебный день в немецкой школе» не является АИ? Потому что он уже переведён на современный язык, и вполне вероятно, что при этом «херики-оники» стали «крестиками-ноликами». Я нашёл исходное издание девятнадцатого века, посмотрю написание в нём. Аналогично Гиляров-Платонов, но для него исходного издания найти не удалось. --Renju player 08:17, 18 ноября 2013 (UTC)Ответить

  1. ни на какой "современный язык" Лейкин быть переведён не мог, потому что Лейкин изначально писал на нём. Современный русский язык (СРЛЯ) - это тот язык, на котором ещё не писал Тредиаковский, но уже писал Пушкин, граница проходит примерно по Державину. См. статью Русский язык#Современный русский язык.
  2. в гугль-книгах легко находится скан второго тома книги Лейкина "Повѣсти, разсказы и драматическія сочиненія", напечатанного в 1871 году, в котором на 30 странице, в очерке "Учебный день в немецкой школе", и содержится упоминание "крестиков и ноликов". Там же, в гугль-книгах, доступен скан номера "Отечественных записок" за декабрь 1866 года, где на странице 531 напечатан тот же очерк, игра "крестики и нолики" упомянута на 552 стр. То же самое касается Гилярова-Платонова. А ещё в 1885 году вышла целая математическая статья "Игра въ крестики и нулики" за авторством Воронихина.
  3. даже если вдруг Лейкин и Гиляров-Платонов не являлись бы АИ, это никак не оправдывало бы орисс, будто название "херики-оники" существовало именно до реформы. Во-первых, легко убедиться в гугль-книгах, что и через десятилетия после реформы такое название изредка использовалось. Во-вторых, в словаре Даля ничего о реформе по понятным причинам не говорится. Зато в нём, прямо рядом с "хериками", упоминаются и "крестики". А вот "херики-оники" как раз не упоминаются вовсе.
  4. Реформы орфографии были реформировали, разумеется, лишь орфографию и напрямую не затрагивали лексику. Реформа правописания 1917-18 годов тут вообще ни к селу ни к городу, поскольку не затрагивала названия букв. Вот текст закона. Буквы х и о в учебниках стали называться просто "ха" и "о" вместо "хер" и "он" ещё в середине XIX века, причём процесс пошёл с XVIII века, подробнее см. в Названия букв русского алфавита#История применения.

131.107.192.225 20:32, 18 ноября 2013 (UTC)Ответить

Всё верно, действительно упоминаются крестики-нолики (а не херики-оники) у Лейкина. Был неправ. В свете этого просьба: не могли бы вы переписать историю наименования целиком, чтобы она была корректна? --Renju player 15:08, 19 ноября 2013 (UTC)Ответить

Правки участников 5.18.185.188 и Dimitrian757

править

Недавно эти участники стали совершать большое количество правок, которые могут быть поставлены под сомнение по следующим причинам:

1. Отсутствие пунктуации и неэнциклопедичные формулировки (можно исправить, но это не единственная проблема).

Пример 1: Общее количество комбинаций 362 880 (чтобы удалить дубликаты комбинации поделите на 4). Во-первых, неясно, что значит «комбинаций» в данном контексте. Это количество узлов в дереве игры, возможных игр (далее буду интерпретировать так) или позиций в конце? В любом случае, это неверно, так как некоторые игры могут закончиться раньше 9 хода, а значит количество точно будет меньше 9! = 362 880 (об этом позже). Во-вторых, Википедия - не учебник математики, и можно было самостоятельно поделить на 4, а не оставлять это на читателя (под дубликатами здесь имеется в виду вращение игрового поля, тоже непонятно). В-третьих, правильное написание: Общее количество комбинаций — 362 880 (чтобы удалить дубликаты, поделите на 4)

Пример 2: Количество комбинаций с алгоритмом который на половину играет как человек. Если компьютер видит два крестика или нолика третий не даст поставить. Во-первых, мне очень интересно, как это можно играть наполовину как человек? Почему не на треть или пятую часть? Видно, что второе предложение является пояснением, но тогда нужно было написать как-то так: Количество комбинаций с алгоритмом, который ходит случайно всегда, кроме тех случаев, когда есть прямая угроза построения линии соперником. Это не идеально, но звучит лучше (что такое комбинации?). Про пунктуацию не буду говорить, но ошибки тут тоже есть.

2. Ложная информация.

Я уже объяснил, почему 362 880 не является общим количеством возможных игр, но что насчёт других чисел? Я не уверен, что они неверны, но остаётся неясным, учтено ли отзеркаливание игрового поля и т.д. Источники не приведены.

3. Удаление всего старого анализа.

Он был не идеальным, но лучше нового. После того, как я откатил правки к стабильной версии, моя отмена была отменена. Поэтому я написал сюда. У вышеперечисленных участников нет личных страниц, но вы можете найти их в истории версий.

Критикуешь — предлагай!

Я предлагаю вернуть всё к стабильной версии и по возможности исправить прошлый анализ, или же сделать новый, подкреплённый источниками. Pavel4654 (обс.) 07:04, 26 июня 2024 (UTC)Ответить