Судоку поиск решения...

Тема в разделе "WASM.HEAP", создана пользователем not1, 30 дек 2010.

  1. not1

    not1 Member

    Публикаций:
    0
    Регистрация:
    6 окт 2009
    Сообщения:
    137
    вот делать было нех... и наткнулся в газете на судоку, решил найти способ решения как оказалось найти решение не так уж легко, пока я тока дошел до генерации правильной судоку и то на листке бумаги, соб-но сабж ктонить из гуру решал подобные задачи? видел здесь я темку о игре пятнашки там все сходилось к перевороту, вот я и подумал если тут что-то похожее?(шутка)
     
  2. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Я тоже думал о решении этой задачи. Меня несколько напрягало, что процесс вычислений может быть слишком трудоёмким. Хотя, х.з. Решение примерно такое. Создаём табличку, каждый элемент которого - множество элементов [1, 2, 3, 4, 5, 6, 7, 8, 9]. Проходим первый раз, заполняем ячейки таблицы начальными значениями. Затем поочерёдно перебираем все ячейки и требуем, чтобы для каждой выполнялось соответствующее условие для сумм элементов строк и столбцов. С каждым проходом количество элементов в ячейке уменьшается.
    Думаю, что-то подобное уже кем-то писалось.. Для начала, думаю, имеет смысл загуглить - может есть уже готовая прога.
     
  3. not1

    not1 Member

    Публикаций:
    0
    Регистрация:
    6 окт 2009
    Сообщения:
    137
    угу, загуглил и пришел к выводу что брутить будет долго xD
     
  4. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    not1
    1. Используй пролог. На нём влёгкую решаются задачи такого рода.
    2. Купи сборник судоку, в них обычно излагают алгоритм решения.
    cupuyc
    Наверное не ячейки, а группы ячеек. А именно строки, столбцы и девять квадратов.
    Можно соптимизировать: если мы вписываем какое-то число в ячейку, то надо тут же перебрать все группы ячеек, в которую входит изменённая. Вероятно можно придумать ещё более эффективный алгоритм, но человек решает судоку именно так.
     
  5. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Да, конечно можно оптимизировать по аналогии с человеческим решением. Задачка довольно интересная с точки зрения алгоритмов. Но первый запрос в гугле дал кучу готовых решений, в том числе с исходниками :))) Имеет ли смысл изобретать велосипед?
     
  6. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
  7. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    По-моему на сайте фасма уже есть статья о этом...