• 大小: 4.49MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-14
  • 语言: C/C++
  • 标签: walksat  

资源简介

针对逻辑可满足的求解算法walksat的算法c语言实现。包括了CNF范式的文件。

资源截图

代码片段和文件信息

#include 
#include 

int n;

int generate(int p)
{
    int ijk;
    int c;
    c =0;
    /* queen on every row */
    for (j=1; j<=n; j++){
        for (i=1; i<=n; i++){
            if (p) printf(“%i “ n*(j-1)+i);
        }
        c++; if (p) printf(“ 0\n“);
    }
    /* no horizontal attacks */
    for (j=1; j<=n; j++){
        for (i=1; i            for (k=i+1; k<=n; k++){
                c++; if (p) printf(“-%i -%i 0\n“ n*(j-1)+i n*(j-1)+k);
            }
        }
    }
    /* no vertical attacks */
    for (i=1; i<=n; i++){
        for (j=1; j            for (k=j+1; k<=n; k++){
                c++; if (p) printf(“-%i -%i 0\n“ n*(j-1)+i n*(k-1)+i);
            }
        }
    }
    /* no SE attacks */
    for (i=1; i        for (j=1; j            for (k=1; (i+k)<=n && (j+k)<=n; k++){
                c++; if (p) printf(“-%i -%i 0\n“ n*(j-1)+i n*(j-1+k)+i+k);
            }
        }
    }
    /* no SW attacks */
    for (i=2; i<=n; i++){
        for (j=1; j            for (k=1; (i-k)>=1 && (j+k)<=n; k++){
                c++; if (p) printf(“-%i -%i 0\n“ n*(j-1)+i n*(j-1+k)+i-k);
            }
        }
    }
    return c;
}

int main(int argc char ** argv)
{
    if (argc < 2) return(1);
    n = atoi(argv[1]);

    printf(“p cnf %i %i\n“ n*n generate(0));
    generate(1);

    return(0);
}






 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-03-21 16:59  Walksat_v48\
     文件        4935  2011-03-21 16:55  Walksat_v48\f100.cnf
     文件      726865  2011-03-21 16:55  Walksat_v48\f10k.cnf
     文件       17333  2011-03-21 16:55  Walksat_v48\f300.cnf
     文件       31976  2011-03-21 16:55  Walksat_v48\f500.cnf
     文件       31267  2011-03-21 16:55  Walksat_v48\f500u.cnf
     文件         417  2011-03-21 16:55  Walksat_v48\Makefile
     文件        1401  2011-03-21 16:55  Walksat_v48\makequeens.c
     文件        4126  2011-03-21 16:55  Walksat_v48\makewff.c
     文件    22766192  2011-03-21 16:55  Walksat_v48\q100.cnf
     文件        4046  2011-03-21 16:55  Walksat_v48\README
     文件        1380  2011-03-21 16:55  Walksat_v48\resolve_trace
     文件       54668  2011-03-21 16:58  Walksat_v48\walksat.c

评论

共有 条评论

相关资源