amplify.client.FujitsuDAPTSolverClientParameters

class FujitsuDAPTSolverClientParameters

Bases: pybind11_object

A class that handles the parameters of FujitsuDAPTSolverClient.

__init__(*args, **kwargs)

Methods

__init__(*args, **kwargs)

Attributes

guidance_config

Specifies the initial values of variables.

number_iterations

Number of searchs in one annealing.

number_replicas

Number of replicas.

offset_increase_rate

Cumulative energy increment when no new state is selected.

solution_mode

Specifies how solutions are returned.

property guidance_config

Specifies the initial values of variables. The initial configuration of the variables are expressed in terms of a dictionary. The key is the index of a variable in the string form, and the corresponding value is the initial value of the variable expressed as True or False.

Type:

dict

Example

from amplify import BinarySymbolGenerator
from amplify.client import FujitsuDAPTSolverClient

gen = BinarySymbolGenerator()
q = gen.array(3)
f = 2 * q[0] * q[1] - q[0] - q[2] + 1

client = FujitsuDASolverClient()
client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
client.parameters.number_iterations = 1000000
client.parameters.guidance_config = {"0": True, "2": False}

result = client.solve(f)
>>> f
2 q_0 q_1 - q_0 - q_2 + 1
>>> print([f"energy = {s.energy}, q = {q.decode(s.values)}" for s in result])
['energy = -1.0, q = [1. 0. 1.]',
 'energy = 1.0, q = [0. 0. 0.]']

Note

Modifying each element of guidance_config by direct reference is not supported. If you need to replace one or more elements, the entire dictionary needs to be redefined.

from amplify.client import FujitsuDAPTSolverClient

client = FujitsuDAPTSolverClient(token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
client.parameters.guidance_config = {"0": True, "1": True}
>>> client.parameters.guidance_config
{'1': True, '0': True}
>>> client.parameters.guidance_config["0"] = False # Dictionary elements cannot be replaced by direct reference.
>>> client.parameters.guidance_config
{'1': True, '0': True}
>>> client.parameters.guidance_config= {"0": False, "1": False}  # Redefition of the entire dictionary can replace dictionary elements.
>>> client.parameters.guidance_config
{'1': False, '0': False}
property number_iterations

Number of searchs in one annealing. An integer greater than or equal to 1 should be specified. If not specified, 100,000 is set as the default. It is recommended to set an integer greater than 100,000.

Type:

int

property number_replicas

Number of replicas. This is the number of annealing performed in parallel at different initialized temperatures. An integer greater than or equal to 1 should be specified. If not specified, it is set to 100 as the default. The recommended value is 100. A value that is a multiple of 20 is recommended.

Type:

int

property offset_increase_rate

Cumulative energy increment when no new state is selected. An integer greater than or equal to 0 should be specified. If not specified, 1000 is set as the default value.

Type:

int

property solution_mode

Specifies how solutions are returned. Can be set to "COMPLETE" or "QUICK". "COMPLETE" is set as the default if no value is specified.

  • COMPLETE: Returns all results obtained by the number of annealing specified by number_replicas, but combines the same results into one and returns with the total number of occurrence as frequency.

  • QUICK: Returns one result with the lowerst energy.

Type:

str