资源简介
这次程序使用C#语言,使用了人工智能中的模拟退火算法解决了八皇后的问题,界面也很完整,可以给出很完整的数据。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace QueenFinal
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button4_Click(object sender EventArgs e)
{
Application.Exit();
}
private void button2_Click(object sender EventArgs e)
{
MessageBox.Show(“1.请输入皇后个数\n2.点击开始按钮进行计算\n3.点击退出退出程序“);
}
private void button3_Click(object sender EventArgs e)
{
MessageBox.Show(“it is love“);
}
private void button1_Click(object sender EventArgs e)
{
QueenNum = int.Parse(this.textBox1.Text);
if (QueenNum == 1) richTextBox1.Text += “解为1即只有一个皇后!“;
else if (QueenNum > 3)
{
init(QueenNum);
str = “Board dimension: “ + dim + “\n“;
this.richTextBox1.Text += str;
str = “Initial Conflicts: “ + getConflicts() + “\n“;
this.richTextBox1.Text += str;
solve(1000 0.99);
}
else this.richTextBox1.Text += “输入的皇后数无解!\n“;
}
public void init(int dimension)
{
dim = dimension;
internalIter = 0;
conflictPosition = 0;
ran = new Random();
board = new int[dim];
test = new int[dim];
for (int i = 0; i < dim; i++)
{
board[i] = i; //把所有皇后初始化在对角线上
}
for (int i = 0; i < dim; i++)
test[i] = board[i];
initialConflicts = currentConflicts = this.getConflicts();
}
public void solve(double inInitialTemperature double inCoolingCoefficient)
{
currentTemperature = inInitialTemperature;
coolingCoefficient = inCoolingCoefficient;
testQueen();
if (dim <= 20)
{
display();
}
else
{
this.richTextBox1.Text +=“\nSolution found! Too large to print!\n“;
}
}
private void testQueen()
{
int swap1 swap2;
while(true)
{ //控制温度
while(true)
{ //寻找一个合理的解
swap1 = findConflictPosition(); //first swap position: a conflict position
swap2 = ran.Next(dim); //second swap position: a random position
swap(swap1 swap2); //swap in array test[]
conflictsDifference = getConflictsDifference(swap1 swap2); //the differece after and before swap by comparing board[] and test
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12800 2010-12-08 21:30 QueenFinal\bin\Debug\QueenFinal.exe
文件 30208 2010-12-08 21:30 QueenFinal\bin\Debug\QueenFinal.pdb
文件 14848 2010-12-29 19:35 QueenFinal\bin\Debug\QueenFinal.vshost.exe
文件 490 2009-06-11 05:14 QueenFinal\bin\Debug\QueenFinal.vshost.exe.manifest
文件 8816 2010-12-29 19:36 QueenFinal\Form1.cs
文件 5485 2010-12-08 21:30 QueenFinal\Form1.Designer.cs
文件 5817 2010-12-08 21:30 QueenFinal\Form1.resx
文件 4440 2010-12-08 21:30 QueenFinal\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6163 2010-12-08 21:30 QueenFinal\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 172 2010-12-08 21:30 QueenFinal\obj\x86\Debug\GenerateResource.read.1.tlog
文件 454 2010-12-08 21:30 QueenFinal\obj\x86\Debug\GenerateResource.write.1.tlog
文件 692 2010-12-29 19:35 QueenFinal\obj\x86\Debug\QueenFinal.csproj.FileListAbsolute.txt
文件 12800 2010-12-08 21:30 QueenFinal\obj\x86\Debug\QueenFinal.exe
文件 180 2010-12-08 21:30 QueenFinal\obj\x86\Debug\QueenFinal.Form1.resources
文件 30208 2010-12-08 21:30 QueenFinal\obj\x86\Debug\QueenFinal.pdb
文件 180 2010-12-08 21:30 QueenFinal\obj\x86\Debug\QueenFinal.Properties.Resources.resources
文件 7897 2010-12-08 21:30 QueenFinal\obj\x86\Debug\ResolveAssemblyReference.cache
文件 491 2010-12-08 21:30 QueenFinal\Program.cs
文件 1352 2010-12-08 21:30 QueenFinal\Properties\AssemblyInfo.cs
文件 2868 2010-12-08 21:30 QueenFinal\Properties\Resources.Designer.cs
文件 5612 2010-12-08 21:30 QueenFinal\Properties\Resources.resx
文件 1093 2010-12-08 21:30 QueenFinal\Properties\Settings.Designer.cs
文件 249 2010-12-08 21:30 QueenFinal\Properties\Settings.settings
文件 3679 2010-12-08 21:30 QueenFinal\QueenFinal.csproj
文件 861 2010-12-08 21:30 QueenFinal\QueenFinal.sln
..A..H. 18432 2010-12-29 19:35 QueenFinal\QueenFinal.suo
目录 0 2010-12-08 21:30 QueenFinal\obj\x86\Debug\TempPE
目录 0 2010-12-08 21:30 QueenFinal\obj\x86\Debug
目录 0 2010-12-08 21:30 QueenFinal\bin\Debug
目录 0 2010-12-08 21:30 QueenFinal\obj\x86
............此处省略7个文件信息
- 上一篇:WPF DataGrid绑定DataTable demo
- 下一篇:C#网络版斗地主
评论
共有 条评论